插件式存储引擎是MySQL数据库最重要的特征,用户可以根据应用的需要选择如何存储和索引数据、是否使用事务等。MySQL 5.1默认支持多种存储引擎,以适用于不同领域的数据库应用需要。自认为常用的存储引擎主要有MyISAM, InnoDB,Memory,Merge,NDB,其中InnoDB提供事务安全表,其他存储引擎都是菲事务安全表。在MySQL 5.1中,默认的存储引擎是MyISAM,所以如果不重新指定的话,新建的数据库表都是MyISAM类型。
下图是MySQL的插件式存储引擎的体系结构(官方文档提供)

几个关于存储引擎的常用命令:
1.查看当前的默认存储引擎,show variables like ‘table_type’;
2. 查看当前数据库支持的存储引擎,两种方法:show engines;show variables like ‘have%’,其中value显示为‘DISABLED’的记录表示支持该存储过程,但是数据库启动的时候被禁用。
3.在创建表时指定存储引擎:CREATE TABLE engineTest(id int,name varchar(50)) engine=InnoDB;
要想改变已有表的存储引擎,可以使用命令:ALTER TABLE engineTest engine = MyISAM;
4.插件式存储引擎,顾名思义就是可以插入或拔出某一存储引擎,
插入存储引擎的命令:INSTALL PLUGIN ha_example SONAME ‘ha_example.so’.
拔出存储引擎的命令:UNINSTALL PLUGIN ha_example.
注意:1)在插入存储引擎时,要确保安装目录/lib/mysql/plugin下有相应的so文件;
2)如果在创建表时指定了未支持的存储引擎,将会用默认的存储引擎来代替。
(官方文档上指出如果拔出了正被已有表使用的存储引擎,那么该表将不可访问,实际测试中发现仍然是可以访问的,只是在拔出该存储引擎时给出了warning)
本文转自 yubowei 51CTO博客,原文链接:http://blog.51cto.com/samyubw/223767