MySQLでは、必要ではないすべてのログを削除/フラッシュ/クリアするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/7381320

  •  29-10-2019
  •  | 
  •  

質問

いくつかのコマンド(フラッシュログ、パージマスター)を試しましたが、ログファイル(以前にアクティブ化されたとき)またはログテーブル(mysql/slow_log.csv and mysql/general_log.csvおよびin.frmおよび.csmカウンターパート)を削除するものはありません。

show binary logsは、「バイナリロギングを使用していない」を返します。

編集: :テーブルログをクリアするこの簡単なソリューションを見つけました(ただし、MySQLコマンドを使用してファイルログはまだありません):

TRUNCATE mysql.general_log;
TRUNCATE mysql.slow_log;
役に立ちましたか?

解決

フラッシュログは、ログファイルを閉じて再開します。ログファイルが大きい場合、それらを減らしません。 Linuxを使用している場合は、使用できます mv 使用中にログファイルの名前を変更してから、フラッシュログの後、MySQLが新しい小さなファイルに書き込み、古い大きなファイルを削除できることがわかります。

バイナリログは異なります。古いビンログを排除するには、使用してください バイナリログをパージします. 。奴隷(もしあれば)がバイナリログをまだ使用していないことを確認してください。つまり、スレーブステータスを表示して、作業中のビンログファイルを確認し、そのファイルまたは後のファイルをパージしないでください。

また、バックアップから復元してからビンログを再適用してデータベースを最新の状態にする必要がある場合に備えて、Binlogsはポイントインタイムの回復に役立つことに注意してください。この方法でビンログを使用する必要がある場合は、最後のバックアップ以来書かれているビンログをパージしないでください。

他のヒント

Amazon RDSにいる場合は、これを2回実行するとトリックが行われます。

PROMPT> CALL mysql.rds_rotate_slow_log;
PROMPT> CALL mysql.rds_rotate_general_log;

ソース: http://docs.aws.amazon.com/amazonrds/latest/userguide/user_logaccess.concepts.mysql.html

サーバーではバイナリロギングが有効になっていないようです。また、バイナリロギング時に使用/作成された古いログファイルを削除する必要があると思います。必要に応じて、「RM」コマンドを使用して手動で削除できます。バイナリロギングを有効にする場合は、Configuarationファイルを更新することで同じことを行うことができます(ただし、サーバーが既に実行されている場合は、サーバーを再起動する必要があります)。以下のリンクを参照できます。http://dev.mysql.com/doc/refman/5.0/en/replication-options-binary-log.html#option_mysqld_log-bin http://dev.mysql.com/doc/refman/5.0/en/replication-options-binary-log.html#sysvar_log_bin

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top