MySQL 5.1 无法使用 InnoDB 的问题

使用 ./configure –with-plugins=innobase,innodb_plugin 配置 mysql 5.1.42,安装完成后启动 mysql,在 show engines 中仍然没有看到 InnoDB。
如果这时在 my.cnf 中有相关变量的定义,就会出现类似以下的错误:

100125 11:46:23 mysqld_safe Starting mysqld daemon with databases from /work/db/
3306/data
100125 11:46:23 [ERROR] /usr/local/mysql/libexec/mysqld: unknown variable ‘innod
b_data_home_dir=/work/db/3306/data’
100125 11:46:23 [ERROR] Aborting

这种情况下只需要在 my.cnf 中加入以下变量定义就可以了:

ignore_builtin_innodb
plugin_load=innodb=ha_innodb.so;innodb_trx=ha_innodb.so;innodb_locks=ha_innodb.s
o;innodb_lock_waits=ha_innodb.so;innodb_cmp=ha_innodb.so;innodb_cmp_reset=ha_inn
odb.so;innodb_cmpmem=ha_innodb.so;innodb_cmpmem_reset=ha_innodb.so

或者执行以下 sql 语句来加载:

install plugin innodb soname ‘ha_innodb.so’

更多插件可以用:

show plugin

来查看。

有将 mysql 升级到 5.1 以后版本的朋友需要特别注意这个问题了, 因为 5.1 后的版本(具体哪个版本开始我也不清楚),InnoDB 都不再内置了,都是以插件形式加载。

更多变量帮助请参考:
http://dev.mysql.com/doc/refman/5.1-maria/en/innodb-parameters.html

— EOF —

发表评论

电子邮件地址不会被公开。 必填项已用*标注