datadirの編集時に気をつけること

my.cnfのdatadirの値を編集すれば、
MySQLのデータファイルの場所を変更することができます。
ubuntuではMySQLの実行ユーザー(デフォルトでは"mysql")に、
そのディレクトリに対する書き込み権限を付与する必要があります。


ここまでは、すぐに分かります。


ところが…


それだけではMySQLが起動しなくなってしまいました。
mysqldのコマンドを打って起動させてみると、
起動時に何やらファイルを作成してみて、
ファイルを書き込めるかどうかを確認しているような雰囲気のところで、
エラーになっている。


おかしい…。Linux上での所有者と所属グループは変更しているのに…。


Googleでいろいろ検索してみたら、分かりました。
http://tobysoft.net/wiki/index.php?Ubuntu%2Fmysql
にかかれてある事がビンゴでした。


AppArmorというアプリケーションで、
MySQLの実行ユーザーに対する権限が制限されていたようですね。
どうやら特定のuserに対して制限を設けるような機能を持っているらしい。


なるほど、まだまだ勉強不足です。