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';
おしまい。