MySQL查看修改存储引擎总结
本文总结了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查看修改存储引擎总结的更多相关文章
- 如何查看MySQL的当前存储引擎?
如何查看MySQL的当前存储引擎? 一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看: 看你的mysql现在已提供什么存储引擎: mysql> show engines; ...
- 查看mysql支持的存储引擎
查看mysql支持的存储引擎 show engines\G;
- 查看和改动MySQL数据库表存储引擎
要做一名合格的程序猿,除了把代码写的美丽外,熟知数据库方面的知识也是不可或缺的.以下总结一下怎样查看和改动MySQL数据库表存储引擎: 1.查看数据库所能支持的存储引擎: ...
- Mysql更换MyISAM存储引擎为Innodb的操作记录
一般情况下,mysql会默认提供多种存储引擎,可以通过下面的查看: 1)查看mysql是否安装了innodb插件.通过下面的命令结果可知,已经安装了innodb插件. mysql> show p ...
- 转!!MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory等各存储引擎对比)
MySQL中的存储引擎: 1.存储引擎的概念 2.查看MySQL所支持的存储引擎 3.MySQL中几种常用存储引擎的特点 4.存储引擎之间的相互转化 一.存储引擎: 1.存储引擎其实就是如何实现存储数 ...
- MySQL的常见存储引擎介绍与参数设置调优
MySQL常用存储引擎之MyISAM 特性: 1.并发性与锁级别 2.表损坏修复 check table tablename repair table tablename 3.MyISAM表支持的索引 ...
- MySQL的常见存储引擎介绍与参数设置调优(转载)
原文地址:http://www.cnblogs.com/demon89/p/8490229.html MySQL常用存储引擎之MyISAM 特性: 1.并发性与锁级别 2.表损坏修复 check ta ...
- Mysql 版本号、存储引擎、索引查询
[1]Mysql 版本号.存储引擎.索引查询 # 查看数据库版本号 SELECT VERSION(); # 查看数据库支持的引擎(默认即Support == DEFAULT行) SHOW ENGINE ...
- MySQL技术内幕读书笔记(一)——Mysql体系结构和存储引擎
目录 MySQL体系结构和存储引擎 定义数据库和实例 MYSQL体系结构 MYSQL存储引擎 MySQL体系结构和存储引擎 定义数据库和实例 数据库:物理操作系统文件或者其他形式文件类型的结合.在MY ...
随机推荐
- C#实现HttpUtility.UrlEncode输出大写字母
在c#中,HttpUtility.UrlEncode("www+mzwu+com")编码结果为www%2bmzwu%2bcom,在和Java开发的平台做对接的时候,对方用用url编 ...
- windows下安装redis以及redis扩展,设置redis为windows自启服务
windows下安装reids windows下redis下载地址:https://github.com/MSOpenTech/redis/releases. 启动redis服务:在redis目录下启 ...
- jQuery.sort对DOM元素进行排序
实例: 每个tr的第三列显示的都是数字,我们就以这数字列作为排序依据,方法就是利用jquery的sort()方法. 首先,利用jquery选择器获取每个tr元素,获取回来是一个数据: var $trs ...
- JavaScript中国象棋程序(6) - 克服水平线效应、检查重复局面
"JavaScript中国象棋程序" 这一系列教程将带你从头使用JavaScript编写一个中国象棋程序.这是教程的第6节. 这一系列共有9个部分: 0.JavaScript中国象 ...
- Alamofire源码解读系列(一)之概述和使用
尽管Alamofire的github文档已经做了很详细的说明,我还是想重新梳理一遍它的各种用法,以及这些方法的一些设计思想 前言 因为之前写过一个AFNetworking的源码解读,所以就已经比较了解 ...
- Android开发9:网络访问&Web服务开发
前言 啦啦啦各位小伙伴们好~ 一起进入我们今天的主题.今天我们将和大家学习网络访问和Web服务开发的相关知识,一起学习熟练使用 HttpURLConnection 访问 WebService,熟悉使用 ...
- hive取数时如果遇到这种报错
如果你hive取数时遇到这种报错:ParseException line 1:78 cannot recognize input near '<EOF>' '<EOF>' '& ...
- angular.js学习笔记:实现商品价格计算实例
<!DOCTYPE html> <html lang="en" ng-app> <!-- ng-app:初始化的指令 也可以解析局部--> &l ...
- linux oracle 10g tar.gz :xhost: unable to open display
关于这个问题,最总要的一点是要理解xhost的作用,是干什么的,在下面的介绍中可以基本了解到,只要这个问题解决了,oracle就可以顺利安装了(这是建立在我还没碰到其它问题的基础上). 1. 以roo ...
- Linux实战教学笔记17:精简shell基础
第十七节 精简shell基础 标签(空格分隔): Linux实战教学笔记 1,前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, ...


