MySQLのバイナリログを削除する

MySQLのバイナリログは放っておくと増えるだけで、ディスク容量の圧迫原因にもなります。

不要になったログは削除する運用が必要になります。

ここでは、実際にどうすればいいのかを整理しておきます。

なお、動作確認環境はCentOS 5.6上の MySQL 5.6.13 です。

1.手動で削除

mysqlプロンプトで下記のようにコマンドを実行します。
下記は、「2011年5月31日23:59:59までのバイナリログを削除する」ときのコマンドラインです。

mysql> purge master logs before '2011-05-31 23:59:59';
Query OK, 0 rows affected, 5 warnings (9.14 sec)
2.自動で削除

my.cnf に下記のパラメータを設定します。
下記は、「7日経ったバイナリログは削除する」という設定です。

expire-logs-days = 7

デフォルト値は 0 で、その場合は自動削除されません。
また、自動削除が実行されるタイミングは、mysqld の再起動時とログローテーションの実行時です。

Comments are closed.