OSでそれらを削除しないでください。
mysqldにそれを行わせる必要があります。mysqldの管理方法は次のとおりです。
このファイルmysql-bin.[index]
は、mysqldが生成し自動回転したすべてのバイナリログのリストを保持します。とともにbinlogを消去するメカニズムmysql-bin.[index]
は次のとおりです。
PURGE BINARY LOGS TO 'binlogname';
PURGE BINARY LOGS BEFORE 'datetimestamp';
これらは、指定したbinlogまたはタイムスタンプの前のすべてのバイナリログをクリアします。
たとえば、実行する場合
PURGE BINARY LOGS TO 'mysql-bin.000223';
これにより、前にすべてのバイナリログが消去されますmysql-bin.000223
。
走ったら
PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 3 DAY) + INTERVAL 0 SECOND;
これにより、3日前の午前0時前にすべてのバイナリログが消去されます。
binlogを自動的に回転させて3日間保存したい場合は、これを設定するだけです:
mysql> SET GLOBAL expire_logs_days = 3;
次にこれを追加します /etc/my.cnf
[mysqld]
expire_logs_days=3
mysqldはログを削除します
スレーブの状態を表示\ G
これは重要です。を実行SHOW SLAVE STATUS\G
すると、マスターから2つのバイナリログが表示されます。
Master_Log_File
Relay_Master_Log_File
レプリケーションの遅延がほとんどまたはまったくない場合、これらは通常同じ値です。レプリケーションの遅延が多い場合、これらの値は異なります。単純にするために、何でも選択Relay_Master_Log_File
して、マスターに戻って実行します
PURGE BINARY LOGS TO 'Whatever Relay_Master_Log_File Is';
そうすれば、複製は中断されません。
[mysqld] expire_logs_days=3
(あなたが含まれている必要があります[mysqld]
セクション