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

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

1.1 使用show engines命令。

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

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: TEST

Create 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=latin1

1 row in set (0.00 sec)

 

ERROR: 

No query specified

 

mysql> 

 

3.3 SHOW TABLE STATUS

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

ERROR 1046 (3D000): No database selected

mysql> 

mysql> 

mysql> use gsp;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

mysql> 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: 0

 

mysql> SHOW CREATE TABLE TEST \G;

*************************** 1. row ***************************

       Table: TEST

Create 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=latin1

1 row in set (0.00 sec)

 

ERROR: 

No query specified

 

mysql> 

 

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)

 

参考资料:

https://dev.mysql.com/doc/refman/5.6/en/storage-engine-setting.html

https://dev.mysql.com/doc/refman/5.7/en/storage-engine-setting.html

MySQL查看修改存储引擎总结的更多相关文章

  1. 如何查看MySQL的当前存储引擎?

    如何查看MySQL的当前存储引擎? 一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看:   看你的mysql现在已提供什么存储引擎: mysql> show engines; ...

  2. 查看mysql支持的存储引擎

    查看mysql支持的存储引擎 show engines\G;

  3. 查看和改动MySQL数据库表存储引擎

            要做一名合格的程序猿,除了把代码写的美丽外,熟知数据库方面的知识也是不可或缺的.以下总结一下怎样查看和改动MySQL数据库表存储引擎:        1.查看数据库所能支持的存储引擎: ...

  4. Mysql更换MyISAM存储引擎为Innodb的操作记录

    一般情况下,mysql会默认提供多种存储引擎,可以通过下面的查看: 1)查看mysql是否安装了innodb插件.通过下面的命令结果可知,已经安装了innodb插件. mysql> show p ...

  5. 转!!MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory等各存储引擎对比)

    MySQL中的存储引擎: 1.存储引擎的概念 2.查看MySQL所支持的存储引擎 3.MySQL中几种常用存储引擎的特点 4.存储引擎之间的相互转化 一.存储引擎: 1.存储引擎其实就是如何实现存储数 ...

  6. MySQL的常见存储引擎介绍与参数设置调优

    MySQL常用存储引擎之MyISAM 特性: 1.并发性与锁级别 2.表损坏修复 check table tablename repair table tablename 3.MyISAM表支持的索引 ...

  7. MySQL的常见存储引擎介绍与参数设置调优(转载)

    原文地址:http://www.cnblogs.com/demon89/p/8490229.html MySQL常用存储引擎之MyISAM 特性: 1.并发性与锁级别 2.表损坏修复 check ta ...

  8. Mysql 版本号、存储引擎、索引查询

    [1]Mysql 版本号.存储引擎.索引查询 # 查看数据库版本号 SELECT VERSION(); # 查看数据库支持的引擎(默认即Support == DEFAULT行) SHOW ENGINE ...

  9. MySQL技术内幕读书笔记(一)——Mysql体系结构和存储引擎

    目录 MySQL体系结构和存储引擎 定义数据库和实例 MYSQL体系结构 MYSQL存储引擎 MySQL体系结构和存储引擎 定义数据库和实例 数据库:物理操作系统文件或者其他形式文件类型的结合.在MY ...

随机推荐

  1. [PCB设计] 4、BAT脚本处理AD生成的GERBER文件为生产文件

    1.生产资料概述 为了资料保密和传输方便,交给PCB厂商打样的资料一般以Gerber和钻孔文件为主,换句话说,只要有前面说的两种文件,就能制作出你想要的PCB了. 一般来说,交给PCB厂商的Gerbe ...

  2. 【原】小写了一个cnode的小程序

    小程序刚出来的第一天,朋友圈被刷屏了,所以趁周末也小玩了一下小程序.其实发觉搭建一个小程序不难,只要给你一个demo,然后自己不断的查看文档,基本就可以入门了,不过对于这种刚出来的东西,还是挺多坑的, ...

  3. iOS-桥接方式

    很多时候都会使用到CoreFoundation的函数,其返回值为CoreFoundation框架的对象,如果想转换为Foundation框架的对象就可以使用桥接方式来搞定. 示例代码: CFStrin ...

  4. ubuntu下安装ssh服务器方法

    由于xshell远程连接ubuntu是通过ssh协议的,所以,需要给ubuntu安装ssh服务器. 1)ubuntu安装ssh服务器 sudo apt-get install openssh-serv ...

  5. 判断数据是否服从某一分布(二)——简单易用fitdistrplus包

    一.对数据的分布进行初步判断     1.1 原理 对于不同的分布,有特定的偏度(skewness)和峰度(kurtosis),正态分布.均匀分布.逻辑斯谛分布.指数分布的偏度和峰度都是特定的值,在偏 ...

  6. 都能读懂的css3 3D变形效果

    css3 3D变形效果 CSS3 transform3D变形 transform的含义是:改变,使-变形:转换 三维变换使用基于二维变换的相同属性,如果您熟悉二维变换,你们发现3D变形的功能和2D变换 ...

  7. 原生JS获取HTML样式并修改

    大家都知道在JavaScript原生操作中获取元素的样式,在实际操作是使用时比较频繁的一件事,这里像大家介绍下获取css样式的方法,希望可以帮助一些需要的人,如果有幸被大牛看到,有更好的办法,欢迎提出 ...

  8. springmvc注解式事务手动回滚

    Spring的AOP事务管理默认是针对unchecked exception回滚(运行期异常,Runtime Exception),如果希望手动控制事务的回滚,可以通过 TransactionAspe ...

  9. Visual Studio 与 Matlab实现混合编程

    环境: Win10 vs2010 Matlab2015 里面有很多选做的内容,其中2.3必做 1.Matlab环境设置:   (选做)我没有做这步,因为打mbuild -setup指令不识别,缺少SD ...

  10. java线程之生产者消费者

    看了毕向东老师的生产者消费者,就照着视频参考运行了一下,感觉还好 这个值得学习的是条理特别清晰: ProducterConsumerDemo.java中,一个资源类Resources,生产者消费者都可 ...