日期:2014-05-16 浏览次数:20587 次
一, 背景说明:
1, windows xp 环境;
2,已经安装mysql服务器版本, 可以通过下面方式查看:
3,默认的存储引擎是innodb,内置的非innodb plugin;
需求:为了利用新的存储引擎 Innodb plugin的更多特性 ,决定使用innodb plugin引擎。
二, 操作步骤
1,可以用show engines 或者 show plugins命令查看当前安装的引擎或者插件情况。
2,查看一下当前mysql安装是否支持动态添加插件。
注意,若have_dynamic_loading 选项的value是YES,则说明支持。如果是NO,则必须麻烦,因为have_dynamic_loading是只读变量。
3,添加插件
首先确认一下插件的dll或者so的所在目录,偶安装在windows环境,dll所在目录是:${MYSQLHOME}/lib/plugin/ha_innodb_plugin.dll。
执行如下命令:
mysql>install plugin innodb dllname 'ha_innodb_plugin.dll';
mysql>install plugin innodb_trx soname 'ha_innodb_plugin.dll';
mysql>install plugin innodb_locks soname 'ha_innodb_plugin.dll';
mysql>install plugin innodb_lock_waits soname 'ha_innodb_plugin.dll';
mysql>install plugin innodb_cmp soname 'ha_innodb_plugin.dll';
mysql>install plugin innodb_cmp_reset soname 'ha_innodb_plugin.dll';
mysql>install plugin innodb_cmpmem soname 'ha_innodb_plugin.dll';
mysql>install plugin innodb_cmpmem_reset soname 'ha_innodb_plugin.dll';
4,检测插件安装是否成功,可以执行:show plugins命令或者show engines;
5,查看安装的innodb plugin的版本:
注意:
看似简单,但是要想完成动态加载innodb plugin是有条件的:
1,使用源码编译的,默认innobase没有被编译进来;使用二进制包安装的,在启动前,在my.cnf里面加入skip-innodb或是ignore_builtin_innodb。
2,使用源码编译时,不能使用–with-mysqld-ldflags=-all-static选项,以静态方式编译库,当show global variables like ‘have_%’;的时候,输出有一项是
have_dynamic_loading将是NO,这就决定mysql是否支持动态加载plugin;而二进制包安装的mysql,就是动态编译的,支持动态加载plugin,这项为Yes。
3,选择对应的innodb plugin版本,并将其放到basedir/lib/plugin下面。
三, 修改配置my.ini后重新启动mysql