5

こんにちは、私は MySQL バージョン 5.5 で作業しています。誰かが mysql の mysql.slow_log テーブルからデータをクリア/フラッシュするのを手伝ってくれませんか?

4

4 に答える 4

21

組み込みのローテーション機能を使用すると、低速ログを無効にすることなく、ロックの問題を回避できます。

CALL mysql.rds_rotate_slow_log;
DELETE FROM mysql.slow_log_backup;

これにより、「slow_log」テーブルと「slow_log_backup」テーブルが交換され、消去するすべてのデータがロックされていない「slow_log_backup」テーブルに移動されます。このテーブルは、データ消去の目的で DELETE FROM を喜んで受け取ります。

ローテーションを 2 回呼び出すこともできます。

CALL mysql.rds_rotate_slow_log;
CALL mysql.rds_rotate_slow_log;
于 2016-03-08T13:59:18.823 に答える
6

Linux を使用している場合

> mysql -uroot -p
> enter your password
> use mysql;
> delete from slow_log;

ログテーブルをロックできないというエラーが表示されます。回避策として、次のクエリを実行します。

SET GLOBAL slow_log= 'OFF';
RENAME TABLE slow_log TO general_log_temp;
DELETE FROM `general_log_temp`;
RENAME TABLE general_log_temp TO slow_log ;
SET GLOBAL slow_log = 'ON';

「Mysql General Log Table から古い行を削除する」から取得

アップデート:

TRUNCATE mysql.slow_logRenato Liibke が述べたように、テーブルを切り捨てることができます

于 2015-03-20T09:48:11.320 に答える