====== バイナリログの設定 ======
MySQLはデフォルトの状態ではバイナリログを30日間保持する設定になっており、
ディスクを圧迫する要因となる場合がある。
そのため、バイナリログの保持期間を設定したり削除したりする必要がある。
===== バイナリログの確認 =====
対象のデータベースにログインする
mysql -u -p
保持期間を確認するにはbinlog_expire_logs_seconds を確認する。
mysql> show global variables like 'binlog_expire_logs_seconds';
+----------------------------+---------+
| Variable_name | Value |
+----------------------------+---------+
| binlog_expire_logs_seconds | 2592000 |
+----------------------------+---------+
1 row in set (0.00 sec)
現在保存されているバイナリログを確認するには以下を実行する
show binary logs;
===== バイナリログの保持時間を設定 =====
秒数で指定する必要がある。7日にする場合は
$3600*24*7=604800$を設定する。
mysql> set global binlog_expire_logs_seconds = 604800;
expire_logs_days パラメータと binlog_expire_logs_seconds は同時に設定できない。
両方設定されている場合はbinlog_expire_logs_seconds が優先される。
===== バイナリログの削除 =====
構文
qurge [master|binary] logs [to 'log_name' | before ]
900番以前のログを削除するには
purge binary logs to 'binlog.000900';