さくらVPSのMySQLが容量オーバーした

さくらのVPS使ってますか!?

はい、使ってます!

先日、MyISAMのフルテキストインデックスしたテーブルは
ANALYZE TABLEしたほうがいい
ということでANALYZE TABLEを実行すると、
応答がなくなりMySQLのデータが容量オーバーで接続できなくなりました><

MySQLのテーブルデータは
・table.frm:テーブルの構造
・table.MYD:レコードデータ
・table.MYI:インデックスデータ
の3つに別れていますが、
先日のFULL TEXTのインデックスを行ったせいで、インデックスデータが5GBに増えており、
ANALYZE TABLEでインデックスを再構築する途中に容量オーバーになったようです\(^o^)/

調べてみるとVPSはHDDの仮想ドライブが2台あって1台目20GB、2台目は残り全部になってました。(2台目は全部/homeディレクトリに振られてますコノヤロー)
MySQLのデータファイルは1台目に保存する設定になってたのが原因です。
ということはデータファイルを2台目のHDDに保存するように設定変更するといいですね。

手順

/etc/my.conf書き換え

datadir = /var/lib/mysql
↓
datadir = /home/mysql

ディレクトリを作って所有者をmysqlに

# mkdir /home/mysql/
# chown mysql /home/mysql/

mysql停止

# /etc/init.d/mysqld stop

MySQLのデータファイルをコピー

# cp -r /var/lib/mysql/* /home/mysql
# mv  /var/lib/mysql/* /home/mysql

cpでコピーして、rmで削除してもいいし、最初からmvで移動してもいいということで訂正。

mysql 起動

# /etc/init.d/mysqld start

コメントを残す

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