本文总结了MySQL下查看、修改存储引擎的一些方法。测试、验证环境为MySQL 5.6 ,如有差异,请以实际版本为准

1:查看MySQL的存储引擎信息

1.1 使用show engines命令。

Support列, YES表示当前版本支持这个存储引擎, DEFAULT表示该引擎是默认的引擎。NO表示不支持该存储引擎。如下所示,InnoDB是默认的存储引擎。

1.2 可以查看系统变量default_storage_engine或storage_engine

1:default_storage_engine 表示永久表(permanent tables)的默认存储引擎。

2:default_tmp_storage_engine 表示临时表的默认存储引擎。

storage_engine这个系统变量不推荐使用,它已经被系统变量default_storage_engine替代了。

mysql> show variables like '%storage_engine%';+----------------------------+--------+| Variable_name              | Value  |+----------------------------+--------+| default_storage_engine     | InnoDB || default_tmp_storage_engine | InnoDB || storage_engine             | InnoDB |+----------------------------+--------+3 rows in set (0.01 sec)mysql>

2:如何修改MySQL的默认存储引擎?

2.1 修改my.cnf,在配置文件里面增加参数default-storage-engine,然后重启数据库服务。

[mysqld]

default-storage-engine=MyISAM

然后检查默认存储引擎,就会看到MyISAM为默认存储引擎了。

2.2 使用命令修改系统变量(system variables)

注意,这个系统变量default_storage_engine是BOTH(全局和临时),而且可以动态修改。但是要注意,即使你修改了系统变量default_storage_engine,重启过后就会失效,如果你要永久修改,最好在my.cnf配置文件里面也设置default-storage-engine的值。

3:如何查看表使用的存储引擎?

查看表所用的存储引擎,有下面几种方法:

3.1 查询information_schema.TABLES

mysql> SELECT TABLE_SCHEMA,->        TABLE_NAME,->        TABLE_TYPE,->        ENGINE-> FROM   information_schema.TABLES-> WHERE  TABLE_NAME = 'TEST';+--------------+------------+------------+--------+| TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | ENGINE |+--------------+------------+------------+--------+| gsp          | TEST       | BASE TABLE | InnoDB |+--------------+------------+------------+--------+1 row in set (0.00 sec)mysql>

3.2 使用SHOW CREATE TABLE TEST \G命令。

mysql> SHOW CREATE TABLE TEST \G;*************************** 1. row ***************************Table: TESTCreate Table: CREATE TABLE `TEST` (`ID` int(11) DEFAULT NULL,`COL1` varchar(6) DEFAULT NULL,`COL2` varchar(6) DEFAULT NULL,`COL3` varchar(6) DEFAULT NULL,`COL4` varchar(6) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin11 row in set (0.00 sec)ERROR:No query specifiedmysql>

3.3 SHOW TABLE STATUS

mysql> SHOW TABLE STATUS WHERE Name='TEST';ERROR 1046 (3D000): No database selectedmysql>mysql>mysql> use gsp;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> SHOW TABLE STATUS WHERE Name='TEST';

如上所示,这种写法必须制定数据库,否则,你只能使用下面语法

SHOW TABLE STATUS [{FROM | IN} db_name]

[LIKE 'pattern' | WHERE expr]

mysql> SHOW TABLE STATUS FROM gsp WHERE Name='TEST';

4:如何修改相关表的存储引擎?

修改表的存储引擎非常简单,语法如下所示

ALTER TABLE my_table ENGINE = InnoDB;

mysql> ALTER TABLE TEST ENGINE=MyISAM;Query OK, 0 rows affected (0.02 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> SHOW CREATE TABLE TEST \G;*************************** 1. row ***************************Table: TESTCreate Table: CREATE TABLE `TEST` (`ID` int(11) DEFAULT NULL,`COL1` varchar(6) DEFAULT NULL,`COL2` varchar(6) DEFAULT NULL,`COL3` varchar(6) DEFAULT NULL,`COL4` varchar(6) DEFAULT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin11 row in set (0.00 sec)ERROR:No query specifiedmysql>

5:创建表的时候如何指定存储引擎。

创建表的时候,如果要指定存储引擎,只需要设置参数ENGINE即可。非常简单。

mysql> CREATE TABLE TEST1 (ID INT) ENGINE=InnoDB;Query OK, 0 rows affected (0.02 sec)mysql>  CREATE TABLE TEST2 (ID INT) ENGINE=MyISAM;Query OK, 0 rows affected (0.00 sec)

参考资料:

mysql修改存储引擎报错_MySQL查看修改存储引擎总结相关推荐

  1. mysql修改密码总是报错_mysql修改密码报错 | 吴老二

    mysql已经安装好了,不过重置密码的时候使用update修改mysql的密码出现了报错,我的mysql是5.7版本的 mysql> use mysql Reading table inform ...

  2. mysql命令导入存储过程报错_mysql导入存储过程时declare报错的有关问题解决

    在导入存储过程时经常遇见下列DECLARE报错的问题: ? Error Code : 1064 You have an error in your SQL syntax; check the manu ...

  3. mysql用declare会报错_mysql导入存储过程时declare报错的问题解决

    在导入存储过程时经常遇见下列DECLARE报错的问题: Error Code : 1064 You have an error in your SQL syntax; check the manual ...

  4. mysql主辅同步报错_mysql数据库主辅同步Slave_IO_Running,Slave_SQL_Running错误

    Slave_IO_Running:连接到主库,并读取主库的日志到本地,生成本地日志文件 Slave_SQL_Running:读取本地日志文件,并执行日志里的SQL命令. 这个错误是出现在我重启电脑之后 ...

  5. mysql源码安装报错_mysql 的二进制和源码包 安装的报错总结

    MySQL报错总结 报错原因:/application/mysql-5.6.44/tmp不存在 解决方法:mkdir /application/mysql-5.6.44/tmp 报错原因: /appl ...

  6. mysql下载是port报错_mysql group replication添加复制节点报错

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 恳求各位大神给把把脉,到底问题处在那个环节 环境: 三台物理机 192.168.1.3 192.168.1.4 192.168.1.5 配置文件: [my ...

  7. mysql创建bit类型报错_MySQL入门(三)——MySQL数据类型

    MySQL的数据类型包括整数类型.浮点数类型.定点数类型.日期和时间类型.字符串类型和二进制数据类型.不同数据类型决定了数据的存储格式.有效范围和相应的限制. 1.整数类型 MySQL支持的整数类型如 ...

  8. mysql查询新建查询报错_mysql开启慢查询报错:

    1.进入mysql命令行:#mysql -uroot -p123456,执行下面的命令开启慢查询报错: set global slow_query_log=on; set global long_qu ...

  9. mysql导出txt文件报错_mysql导入txt文件

    1.首先在命令行启动mysql net start mysql 2.登录MySQL(建议使用非root用户) mysql --local-infile=1 -u one -p 3.创建数据库 如 CR ...

最新文章

  1. JSON字符串 拼接与解析
  2. Java2Days 2012:Java EE
  3. HDU 5371 Manacher Hotaru's problem
  4. 【Java】关于Java的一些基础知识点
  5. 写随笔写日记多参与评论
  6. HDU 2896 病毒侵袭(AC自动机/模板题)
  7. 新员工入职表_员工离职率过高,只要三步骤,就能轻松有效控制
  8. OOP思想--封装和继承
  9. 徐家骏:我在华为工作十年的感悟
  10. python分号_python分号_python 分号_python加分号 - 云+社区 - 腾讯云
  11. 程序员的爱情最纯洁?
  12. Excel设置数据有效性实现单元格下拉菜单的3种方法
  13. hive 的tmp文件
  14. OPENCV C++保存视频
  15. M480 EMAC驱动01-EMAC底层接口
  16. English Pod 听力学习之路 C41 - C68
  17. 【ES】1318- 这些 ES7-ES12 的知识点你都掌握了吗?
  18. Gartner 2016数据仓库和数据分析数据库管理解决方案魔力象限
  19. android 蓝牙传输文件,android-通过蓝牙发送文件
  20. 第15节--神经网络应用--异或判断、手写数字识别

热门文章

  1. 用matlab绘制升余弦函数
  2. 科大星云诗社动态20210314
  3. 荣耀X8碎屏2020-05-14
  4. 云炬WEB开发笔记 2-3git详细安装教程及下载太慢的解决办法
  5. 1-2 小程序适合做什么样的应用
  6. 关于h5py的使用及数据封装实例
  7. 新型机器学习算法:正则化理解
  8. Qt修炼手册1_溢美之词和Designer设计
  9. jquery 跨域 没有权限
  10. 如何用tadodataset.append