Ubuntuで/var/lib/mysqlを移動したらエラーが

開発環境(Ubuntu on VirtualBox)のディスク容量が少なくなってきたので、/var/lib/mysql を 別のディレクトリ ( /data の下)に移動して、シンボリックリンクを張ったんだけど、MySQL起動時に以下の様なエラーが出た。

/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
131203 18:27:23 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
131203 18:27:23  InnoDB: Initializing buffer pool, size = 8.0M
131203 18:27:23  InnoDB: Completed initialization of buffer pool
131203 18:27:23  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.

結論から言うと、/etc/apparmor.d/usr.sbin.mysqld で、/data/mysql への権限を追加すればOK。

  /var/lib/mysql/ r,
  /var/lib/mysql/** rwk,
  /data/mysql/ r,
  /data/mysql/** rwk,

環境: Ubuntu 10.04.4 (面倒なのでアップグレードしていない・・・)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です