我是靠谱客的博主 年轻钥匙,最近开发中收集的这篇文章主要介绍查看mysql数据库的默认引擎及 修改默认引擎,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在修改默认引擎之前,最好了解mysql读取配置文件my.cnf的顺序,以及mysql的目录结构 --默认basedir=/usr ,datadir=/var/lib/mysql,/etc/my.cnf
配置文件读取顺序详见另一篇帖子。

1.查看mysql的存储引擎信息
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support       | Comment                                                   
       | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| FEDERATED             | NO         | Federated MySQL storage engine                                     | NULL         | NULL | NULL       |
| MRG_MYISAM            | YES   
   | Collection of identical MyISAM tables                       
    | NO              | NO       | NO          |
| MyISAM                      | YES       | MyISAM storage engine                                             | NO              | NO       | NO          |
| BLACKHOLE          | YES       | /dev/null storage engine (anything you write to it disappears)  | NO              | NO       | NO          |
| MEMORY                  | YES       | Hash based, stored in memory, useful for temporary tables    | NO              | NO       | NO          |
| CSV                                | YES       | CSV storage engine                                                | NO              | NO       | NO          |
| ARCHIVE                          | YES       | Archive storage engine                                             | NO              | NO       | NO          |
| PERFORMANCE_SCHEMA | YES        | Performance Schema                                                | NO              | NO       | NO          |
| InnoDB                     | DEFAULT    | Supports transactions, row-level locking, and foreign keys      | YES             | YES     | YES        |
+--------------------+---------+----------------------------------------------------------------+--------------+------+--------
MySQL-5.5.19-1.linux2.6.i386的默认引擎为InnoDB。

2.设置mysql的默认存储引擎
编辑my.cnf配置文件,在服务器端配置信息[mysqld]下面添加:
default-storage-engine = MyISAM
即可设置mysql数据库的默认引擎为MyISAM

3.设置当前会话的默认存储引擎
SET  storage_engine=InnoDB;
即可以设置当前会话连接的默认存储引擎为InnoDB。

4.指定表的存储引擎
如:
create table t_innodb( id int(3) ) 
engine = innodb;
然后使用
mysql> show table status like 't_i%'G;
查看表的详细信息。

5.修改表的存储引擎
ALTER TABLE t_name ENGINE = innodb;
修改表的存储引擎时,会重建表,结构文件、数据文件、索引文件等文件。
如果转化为myisam存储引擎,mysql会在datadir/db_name/目录下,生成临时表结构文件(.frm),临时数据文件(.MYD),临时索引文件(.MYI)。此处需要注意的是,myisam类型转换时,生成的.MYI索引文件比数据文件要大很多(这与mysql数据库索引的结构有关,B-Tree结构)(如果捕捉不到临时文件,请让表的数据量达到6位数)在数据文件目录下的表所在的库目录下运行:
while [ 1 ] ; do ls -l | grep -i '#sql'; done)
如果转化为innodb存储引擎,因为innodb引擎默认使用共享表空间,数据文件、索引文件存储在ibdata1文件里面。
只有和innodb引擎有关的转化时,mysql数据库才会对ibdata1里面的data dictionary进行更新操作,删除旧的表信息,添加新的表信息。
参考链接:http://dev.mysql.com/doc/refman/5.1/en/storage-engine-setting.html



最后

以上就是年轻钥匙为你收集整理的查看mysql数据库的默认引擎及 修改默认引擎的全部内容,希望文章能够帮你解决查看mysql数据库的默认引擎及 修改默认引擎所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部