cloudpackエバンジェリストの吉田真吾(@yoshidashingo)です。
EC2上に構築したMySQLのデータファイルを格納するディスクが不足したので移動。
- EC2はAmazon Linux 2014.03
- MySQLは5.5.36
バージョン確認
$ cat /etc/system-release Amazon Linux AMI release 2014.03 $ mysql -u username -p Enter password: (中略) mysql> SELECT version(); +-----------+ | version() | +-----------+ | 5.5.36 | +-----------+ 1 row in set (0.00 sec)
ディスクの追加
追加のEBSを容易してアタッチ&マウント。
- 追加のEBSを作って/dev/sdbにディスクをアタッチ
- マウント
以下のリンクが役に立ちます。
http://blog.katamari.co.jp/archives/396
データの移動
- MySQL 停止
$ sudo service mysqld stop
Stopping mysqld: [ OK ]
- my.cnf の編集
$ ls -l /etc/my.cnf -rw-r--r-- 1 root root 480 3月 20 23:09 /etc/my.cnf $ sudo cp -p /etc/my.cnf /etc/my.cnf.bk $ ls -l my* -rw-r--r-- 1 root root 480 3月 20 23:09 my.cnf -rw-r--r-- 1 root root 480 3月 20 23:09 my.cnf.bk $ sudo vi /etc/my.cnf (移動先のパスを編集)
- /etc/init.d/mysqld の編集
$ sudo vi /etc/init.d/mysqld get_mysql_option mysqld datadir "/var/lib/mysql" → "<移動先のパス>"
- データの移動
$ sudo cp -pR /var/lib/mysql/* <移動先のパス>
- MySQL 開始
$ sudo service mysqld start
Starting mysqld: [ OK ]
あとは元のデータファイルを消せばOK。
うちの運用手順だともう少し作り込まれているのですが、今回は手元の環境ということでこんな感じで。