サーバー - MySQLでは、不要なすべてのログをどのように削除/フラッシュ/クリアできますか?




サーバー エラー ログ 削除 (2)

FLUSH LOGSはログファイルを閉じて再オープンするだけです。 ログファイルが大きい場合、ログファイルは縮小されません。 Linuxの場合は、 mvを使用してログファイルの名前を変更することができます。その後、FLUSH LOGSを実行すると、MySQLは新しい小さなファイルに書き込みを行い、古い大きなファイルを削除できます。

バイナリログは異なります。 古いバイナリログを削除するには、 PURGE BINARY LOGSを使用します。 スレーブ(存在する場合)がまだバイナリログを使用していないことを確認してください。 つまり、SHOW SLAVE STATUSを実行して、作業中のbinlogファイルを確認し、そのファイルまたはそれ以降のファイルをパージしないでください。

binlogは、バックアップから復元してからbinlogを再適用してデータベースを最新のものにする必要がある場合に備えて、ポイントインタイムリカバリに便利です。 この方法でbinlogsを使用する必要がある場合は、前回のバックアップ以降に書き込まれたbinlogをパージしないでください。

いくつかのコマンド(FLUSH LOGS、PURGE MASTER)を試しましたが、ログファイル(以前に起動したとき)やログテーブル(mysql / slow_log.CSV、mysql / general_log.CSV、.frmと.CSMの対応)は削除しません。

SHOW BINARY LOGSは "バイナリログを使用していません"を返します。

編集 :私はこの単純な解決策は、テーブルのログをクリアする(しかし、まだファイルのログをmysqlコマンドを使用して)を発見した:

TRUNCATE mysql.general_log;
TRUNCATE mysql.slow_log;





clear