slow_log.csv慢查SQL文件清理

51 阅读3分钟

文档最后修改

lue




变更说明

预计执行时长:10min




输入信息

检查项 检查方式 
数据库磁盘使用量?通过告警触发/通过监控屏或登陆主机检查
slow_log.csv文件大小?登陆主机检查 
数据库角色是主库,还是从库?通过监控屏/DMP界面/登陆数据库检查



标准步骤

场景说明

场景说明其他说明
slow_log.csv文件过大,且实例角色为主库这个表是slow-log TABLE格式的数据文件,默认用的是CSV引擎
slow_log.csv文件过大,且实例角色为从库 

场景1,slow_log.csv文件过大,且实例角色为主库

  1. 暂停主从的慢查功能

暂停主库和从库的慢查功能:

mysql> SET GLOBAL slow_query_log = 'OFF';

配置类的SQL不会同步到从库上,因此清理主库慢查csv之前,主从上都要手工停止slow log;否则从库将无法执行后续重命名,重建表的SQL,导致复制停止。报错示例:

Worker 16 failed executing transaction '5ce8be00-2984-11eb-87ff-3868dd2aded8:736835887' at master log mysql-bin.010720, end_log_pos 148424470; Error 'Table 'mysql.slow_log_drop' doesn't exist' on query. Default database: 'mysql'. Query: 'CREATE TABLE slow_log LIKE slow_log_drop'
  1. 在主库上,重命名slow_log表

mysql> ALTER TABLE slow_log RENAME slow_log_drop;
  1. 在主库上,重建新的slow_log表

mysql> CREATE TABLE slow_log LIKE slow_log_drop;
  1. 在主从上,重启慢查功能

mysql> SET GLOBAL slow_query_log = 'ON';
  1. 清理旧slow log表

mysql> DROP TABLE slow_log_drop;

场景2,slow_log.csv文件过大,且实例角色为从库

  1. 在从库上,暂停慢查功能

mysql> SET GLOBAL slow_query_log = 'OFF';
  1. 临时关闭从库的binlog

防止后续SQL多GTID,影响复制

mysql> set session sql_log_bin = 0;
  1. 在从库上,重命名slow_log表

mysql> ALTER TABLE slow_log RENAME slow_log_drop;
  1. 在从库上,重建新的slow_log表

mysql> CREATE TABLE slow_log LIKE slow_log_drop;
  1. 在从库上,重启慢查功能

mysql> SET GLOBAL slow_query_log = 'ON';
  1. 清理旧slow log表

mysql> DROP TABLE slow_log_drop;
  1. 在从库上,开启binlog

mysql> set session sql_log_bin=1;



事后验证

  • 观察告警/监控屏/df -h命令输出
  • ls -hl 检查文件大小



WBS模板

清理主库:

阶段步骤已完成执行人计划开始时间计划结束时间备注
准备暂停主库慢查功能NXXX2023-04-XX 15:00
准备暂停从库慢查功能NXXX2023-04-XX 15:02
重建在主库上重命名slow_log表NXXX2023-04-XX 15:03
重建在主库上重建新slow_log表NXXX2023-04-XX 15:05
恢复启动主库慢查功能NXXX2023-04-XX 15:06
恢复启动从库慢查功能NXXX2023-04-XX 15:07
扫尾清理旧slow_log表NXXX2023-04-XX 15:10

清理从库:

阶段步骤已完成执行人计划开始时间计划结束时间备注
准备暂停从库慢查功能NXXX2023-04-XX 15:00
准备临时关闭从库当前会话binlogNXXX2023-04-XX 15:02
重建在从库上重命名slow_log表NXXX2023-04-XX 15:03
重建在从库上重建新slow_log表NXXX2023-04-XX 15:05
恢复启动从库慢查功能NXXX2023-04-XX 15:07
扫尾清理旧slow_log表NXXX2023-04-XX 15:09
扫尾开启会话binlogNXXX2023-04-XX 15:10