amari3のはてなダイアリー このページをアンテナに追加 RSSフィード Twitter

2010-03-31

[][]MySQL のバイナリログの削除方法

MySQL をマスタ/スレーブ構成で運用していると、バイナリログがハードディスク容量を圧迫してくるのでその削除手順をメモ。

1.レプリケーションの進行状態を確認

スレーブ側がどこまでバイナリログを読み込んでいるか確認する。Master_Log_File に表示されているファイル(mysql-bin.006223)まで読み込まれている。つまり、その直前のファイルまでは削除しても問題ないと言うことになる。

mysql> show slave status \G
Master_Log_File: mysql-bin.006223

2.マスタ側のバイナリログ一覧を確認

マスタ側のバイナリログ一覧を確認する。レプリケーションが正常かつ順調に行われている場合、1のMaster_Log_File と同じものになっているはずである。

mysql> show master logs;
| mysql-bin.005987 | 104957654 |
| mysql-bin.005988 | 104949424 |
<略>
| mysql-bin.006222 | 105051618 |
| mysql-bin.006223 | 22691624 |
+------------------+-----------+

3.バイナリログを削除

1で確認したバイナリログの直前まで削除する。以下のように、mysql-bin.006223 を指定すると、その直前までのバイナリログを削除してくれる。

mysql> purge master logs to 'mysql-bin.006223';

おしまい。

ziguzaguziguzagu 2010/04/01 13:00 expire_logs_days 使わない理由はなにかある?

amari3amari3 2010/04/01 22:47 >ziguzaguさん
実は設定忘れです。恥ずかしい。。
今は、10日毎に自動削除するようにしました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/amari3/20100331/1270040680
Connection: close