嗨,我正在使用 MySQL 5.5 版,有人可以帮我清除/刷新 mysql 中 mysql.slow_log 表中的数据吗?
问问题
9050 次
4 回答
21
通过使用内置的旋转功能,您可以避免锁定问题而无需禁用慢日志:
CALL mysql.rds_rotate_slow_log;
DELETE FROM mysql.slow_log_backup;
这将交换 'slow_log' 和 'slow_log_backup' 表,将您要清除的所有数据移动到非锁定的 'slow_log_backup' 表中,该表将很乐意使用 DELETE FROM 进行数据清除。
您也可以只调用两次旋转:
CALL mysql.rds_rotate_slow_log;
CALL mysql.rds_rotate_slow_log;
于 2016-03-08T13:59:18.823 回答
13
TRUNCATE mysql.slow_log
来自 Mysql 文档:
TRUNCATE TABLE 是对日志表的有效操作。它可用于使日志条目过期。
于 2016-10-31T16:50:52.037 回答
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';
更新:
您可以像
TRUNCATE mysql.slow_log
Renato Liibke 提到的那样截断表格
于 2015-03-20T09:48:11.320 回答
0
For me this works:
SET GLOBAL slow_query_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_query_log = 'ON';
于 2018-05-21T14:04:44.503 回答