# ls -l

でバイナリログの日時と番号を確認しながら以下を実施。

#消しすぎないように~。

<バイナリログの手動削除>

マスタ側でバイナリログの一覧を表示する。

mysql> show master logs;

+------------------------+------------+
| Log_name | File_size |
+------------------------+------------+
| xxxxxxxxx-bin.000001 | 1074149684 |
| xxxxxxxxx-bin.000002 | 1073741963 |
| xxxxxxxxx-bin.000003 | 1073742026 |
:
+------------------------+------------+
84 rows in set (0.00 sec)

例えば000001のログを消す場合は以下を実行。

mysql> purge master logs to 'xxxxxxxxxx-bin.000002';
Query OK, 0 rows affected (0 min 0.82 sec)

mysql> show master logs;

+------------------------+------------+
| Log_name | File_size |
+------------------------+------------+
| xxxxxxxxx-bin.000002 | 1073741963 |
| xxxxxxxxx-bin.000003 | 1073742026 |
:
+------------------------+------------+
84 rows in set (0.00 sec)
※注意※
 指定した番号の前までが削除されます。
 一度に大量のログの削除処理を走らせるとI/O負荷が高くなるので
 気をつけましょう。


<バイナリログの自動削除>

例えば14日を経過したバイナリログを自動的に削除する場合は

mysql> set global expire_logs_days = 14;
mysql> show global variables like 'expire_logs_days';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 14 |
+------------------+-------+
1 row in set (0.00 sec)

とする。
mysqlを再起動しても反映されるようにするには
my.cnfの[mysqld]部分に

set-variable = expire_logs_days = 14

を指定しておく。

尚、自動削除は

バイナリログがローテーションされたとき



mysqlを起動したとき

に削除されるらしい。