mysql中如何安装innodb plugin

一, 背景说明:

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

1,去掉之前innodb的所有配置,在my.ini进行如下配置后重启mysql

对于mysql5.1.38之后的版本,要使用新的InnoDB Plugin存储引擎,只需在my.ini中做如下配置:


#*** INNODB Specific options ***
ignore-builtin-innodb


plugin-load=innodb=ha_innodb_plugin.dll
plugin-load=innodb_trx=ha_innodb_plugin.dll
plugin-load=innodb_locks=ha_innodb_plugin.dll
plugin-load=innodb_lock_waits=ha_innodb_plugin.dll
plugin-load=innodb_cmp=ha_innodb_plugin.dll
plugin-load=innodb_cmp_reset=ha_innodb_plugin.dll
plugin-load=innodb_cmpmem=ha_innodb_plugin.dll
plugin-load=innodb_cmpmem_reset=ha_innodb_plugin.dll


注意:对之前的配置项目,前面加上loose_后均变成innodb plugin的配置项目,如

loose_innodb_additional_mem_pool_size=12M
loose_innodb_flush_log_at_trx_commit=1
loose_innodb_log_buffer_size=6M
loose_innodb_buffer_pool_size=538M
loose_innodb_log_file_size=269M
loose_innodb_thread_concurrency=10
loose_innodb_file_per_table=1


2,重启mysql

在重启若出现如下错误:

120701 13:47:11 [ERROR] Plugin 'InnoDB' init function returned error.
120701 13:47:11 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
120701 13:48:51 [Note] mysqld: Normal shutdown

120701 13:48:51 [Note] Event Scheduler: Purging the queue. 0 events
120701 13:48:53 [Warning] mysqld: Forcing close of thread 1 user: 'root'

InnoDB: Error: log file .\ib_logfile0 is of different size 0 282066944 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
120701 13:48:53 [Note] mysqld: Shutdown complete

处理办法:只要删除MySQL目录下的ib_logfile0和ib_logfile1两个文件,重启mysql就可以解决问题了。













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值