Jul 16, 2013

Amazon EC2で、MySQLのデータをEBSに移す

ポスト @ 22:20:31 , 修正 @ Jul 16, 2013 13:20:31 | Amazon,ubuntu

 正確に云えば、このインスタンスもEBSベースなので、そもそも全部EBSなのだが、別のEBSに移すということである。ここでは、/mnt/volとしてマウントした別のEBSにMySQLのデータ・ディレクトリを移すことを考える。データのみである。Logとか、設定とかはそのままである。

 話は簡単で、/var/lib/mysqlを/mnt/vol/mysqlに移せばよい。所有権の設定なども変えないために、cp -a か何かでコピーする。そして、/etc/mysql/my.cnのデータの場所を書き換える。

datadir         = /var/lib/mysql
↓
datadir         = /mnt/vol/mysql
として、sudo service mysql restartとするだけでいいはず。ところが、エラーが出てしまう。/var/log/mysql/error.log を見てみると、ibdata1に対する権限がないという。どういうことだ? どうやら、設定を書き換えるのがmy.cnfだけでは足りないらしい。/etc/apparmor.d/usr.sbin.mysqld も書き換えなくてはならないのだ。
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
↓
/mnt/vol/mysql/ r,
/mnt/vol/mysql/** rwk,
とするのだ。そして、sudo service mysql start としてやれば、正常に動き出す。まあ、少なくとも私の場合は。やれやれ。

 この貴重な情報は、Twiwt:Blog 「EC2 で MySQL のデータの保存先を EBS ボリューム(/mnt)に変更する」で知った。

Trackback

No Trackbacks

Track from Your Website

http://nakano.no-ip.org/attic/trackback/tb.php?id=750
(言及リンクのないトラックバックは無視されます)