MySQL5.1版本对于存储引擎采用插件式的架构,每个存储引擎通过继承一个handler的C++类,样所有的存储引擎都是真正的插件式的。对于之前的版本来说,如果发现一个InnoDB存储引擎的bug,就需要等待MySQL新版本的发布来解决这个bug,InnoDB公司对此只能通过补丁形式来解决,需要重新编译MySQL。对于MySQL5.1的版本,可以安装新版本的InnoDB存储引擎来替代有bug的旧引擎。
在MySQL5.1.38之前的版本中,当需要安装InnoDB Plugin时,需要下载Plugin文件,再进行安装。从MySQL5.1.38版本开始,MySQL包含了两个不同版本的InnoDB存储引擎:一个是旧版本的引擎,称之为build-in innodb(内置版本);另一个是新版本的InnoDB存储引擎(innodb-plugin.1.0.4)InnoDB Plugin版本。Plugin版本在很多方面优于built-in版本。
InnoDB Plugin版本的特性有:
1.后台IO线程细化并分配多个。默认的read thread和write thread分表增大到了4个,并且不再使用innodb_file_io_threads参数,而是分别使用innodb_read_io_threads和innodb_write_io_threads参数。之前Linux下IO线程只能是四个,现在可以最大可以调到64个。
2.内部IO限制,现在InnoDB内部同时可以操作100个IO限制。
3.快速DDL,增强MySQL的IO性能以及buffer中读取速度。
4.自适应的刷新脏页。
5.引入全新的文件格式barracuda。对性能提升很高,要求使用独享表空间。
对于mysql5.1.38之后的版本,要使用新的InnoDB Plugin存储引擎,只需在my.cnf中做如下配置:
- [mysqld]
- ignore-builtin-innodb
- plugin-load=innodb=ha_innodb_plugin.so
- plugin-load=innodb_trx=ha_innodb_plugin.so
- plugin-load=innodb_locks=ha_innodb_plugin.so
- plugin-load=innodb_cmp=ha_innodb_plugin.so
- plugin-load=innodb_cmp_reset=ha_innodb_plugin.so
- plugin-load=innodb_cmpmem=ha_innodb_plugin.so
- plugin-load=innodb_cmpmem_reset=ha_innodb_plugin.so
或是在命令行下加载
- mysql>install plugin innodb soname ‘ha_innodb_plugin.so’;
- mysql>install plugin innodb_trx soname ‘ha_innodb_plugin.so’;
- mysql>install plugin innodb_locks soname ‘ha_innodb_plugin.so’;
- mysql>install plugin innodb_cmp soname ‘ha_innodb_plugin.so’;
- mysql>install plugin innodb_cmp_reset soname ‘ha_innodb_plugin.so’;
- mysql>install plugin innodb_cmpmem soname ‘ha_innodb_plugin.so’;
- mysql>install plugin innodb_cmpmem_reset soname ‘ha_innodb_plugin.so’;
mysql> show plugins; +-----------------------+--------+--------------------+---------+---------+ | Name | Status | Type | Library | License | +-----------------------+--------+--------------------+---------+---------+ | binlog | ACTIVE | STORAGE ENGINE | NULL | GPL | | mysql_native_password | ACTIVE | AUTHENTICATION | NULL | GPL | | mysql_old_password | ACTIVE | AUTHENTICATION | NULL | GPL | | MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL | | CSV | ACTIVE | STORAGE ENGINE | NULL | GPL | | MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | | MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | | InnoDB | ACTIVE | STORAGE ENGINE | NULL | GPL | | INNODB_TRX | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_LOCKS | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_LOCK_WAITS | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_CMP | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_CMP_RESET | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_CMPMEM | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_CMPMEM_RESET | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | PERFORMANCE_SCHEMA | ACTIVE | STORAGE ENGINE | NULL | GPL | | partition | ACTIVE | STORAGE ENGINE | NULL | GPL | +-----------------------+--------+--------------------+---------+---------+
本文出自 “燕雀安知鸿鹄之志哉” 博客,请务必保留此出处http://who0168.blog.51cto.com/253401/528795
转载于:https://blog.51cto.com/wizard/789207