I am trying to enable InnDB on my linux server. I have installed Ubuntu 10.04 JeOS on an ESX server. I then installed mySQL and tomcat using aptitude. However when I use SHOW ENGINES; in mySQL it does not appear that InnoDB was installed. I then tried following the directions in the documentation. http://dev.mysql.com/doc/refman/5.1/en/innodb.html However I get the following when trying to enable a plugin:
ERROR 1123 (HY000): Can't initialize function 'InnoDB'; Plugin initialization function failed.
I would appreciate some advice as to how to approach this problem.
I had the same issue. In 10.04, apparmor does not allow MySQL to read the InnoDB plugins. Add the following lines to
/etc/apparmor.d/usr.sbin.mysqld
:/usr/lib/mysql/plugin/ r, /usr/lib/mysql/plugin/* mr,
Then reload apparmor and restart the MySQL service.
It sounds like the Jeos version of the mysql package decided not to compile innodb into the binaries for whatever reason. Not sure why, my 10.04 desktop here does have it enabled. At any rate, the default my.cnf doesn't enable the plugin.
Assuming that the innodb plugin files (ha_innodb_plugin.so, etc) are in /usr/lib/mysql/plugins, you can follow the instructions below to enable it.
http://dev.mysql.com/doc/innodb-plugin/1.0/en/innodb-plugin-installation-dynamic-posix.html
If the innodb plugins aren't in that directory, you should probably try to install regular ubuntu's mysql .deb or grab a package directly from dev.mysql.com.
If specified, comment
skip-innodb
in your my.cnf and restart MySQL.These are the settings that the
my-large.cnf
example configuration provides that can be specified to enable InnoDB:If you enable innodb_data_file_path or edit the value then Innodb doesn't enable. So you have to stop mysql, and delete the data files. Then it will start with the new file size settings you chose:
Unfortunately I don't know how to make Innodb the default on Mysql 5.1.61 on Ubuntu 10.04.