Ubuntu 10.04 LTS の MySQL で InnoDB Plugin を有効にしようとしたらハマったメモ

Ubuntu 10.04 LTS の MySQL は 5.1.41 なので、InnoDB Plugin をソースからインストールしなくてもそのまま使えますが、セットアップしていて少しつまづいたのでメモです。

/etc/mysql/my.cnf に

ignore-builtin-innodb
plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_locks=ha_innodb_plugin.so;innodb_lock_waits=ha_innodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_innodb_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_cmpmem_reset=ha_innodb_plugin.so

を追記して、MySQL をリスタートしても、

[ERROR] Can't open shared library '/usr/lib/mysql/plugin/ha_innodb_plugin.so' (errno: 0 failed to map segment from shared object: Permission denied)

と言われてしまい、起動できなかったのでググったら、どうやら SELinux の設定が関係しているようです。

/etc/apparmor.d/usr.sbin.mysqld というファイルがあるので、そこに

  /usr/lib/mysql/plugin/* rm,

を追記して、

service apparmor restart

で無事 InnoDB Plugin を読み込んで起動できました。