MySQLのデータディレクトリを変更
Ubuntu 11.04のMySQLのデータディレクトリを変更したらmysqlが起動しなくなった! 原因はAppArmorによるディレクトリアクセスの許可がなかったから。 いつの間にかAppArmorなんてツールが管理してくれるようになったのね。
環境
OS: Ubuntu 11.04 旧データディレクトリ: /var/lib/mysql 新データディレクトリ: /data_dir/mysqlデータディレクトリ移動
権限などそのままコピー。
設定変更
データディレクトリを変更。
-datadir = /var/lib/mysql
+datadir = /data_dir/mysql
ここで、MySQLがアクセス可能なディレクトリを追加。
/usr/share/mysql/** r,
/var/log/mysql.log rw,
/var/log/mysql.err rw,
- /var/lib/mysql/ r,
- /var/lib/mysql/** rwk,
+ #/var/lib/mysql/ r,
+ #/var/lib/mysql/** rwk,
/var/log/mysql/ r,
/var/log/mysql/* rw,
/var/run/mysqld/mysqld.pid w,
/sys/devices/system/cpu/ r,
+ /data_dir/mysql/ r,
+ /data_dir/mysql/** rwk,
+
# Site-specific additions and overrides. See local/README for details.
#include <local/usr.sbin.mysqld>
}
MySQLのアクセス可能なディレクトリを追加したので、AppArmorを再起動。
MySQL起動
MySQLを再起動して完了。