慢查询配置
[mysqld]下配置
# 开启慢查询日记
slow_query_log=1;
# 慢查询日志文件位置
slow_query_log_file=/var/lib/mysql/slow_query.log
# 慢查询时间(大于 3s 被视为慢查询)
long_query_time=3;
# 日志输出到文件
log_output=FILE
定时切割日志文件
- 1.创建文件/opt/script/cut_mysql_slow_log.sh
- 2.配置crontab定时任务:
59 23 * * * bash /opt/script/cut_mysql_slow_log.sh
cut_mysql_slow_log.sh文件内容如下
#!/bin/bash
# 指定日志文件路径(根据实际修改)
MYSQL_LOGFILE=/opt/logs/mysql/slow_query.log
# 指定MYSQL root用户密码(根据实际修改)
MYSQL_ROOT_PASSWORD={RootPassword}
# 旧文件重命名
mv ${MYSQL_LOGFILE} ${MYSQL_LOGFILE}.$(date +%Y%m%d)
# 使用 flush-logs slow 命令重新生成慢查询日志
mysqladmin -uroot -p$MYSQL_ROOT_PASSWORD flush-logs slow
# docker 可使用以下命令,mysql为容器名称(根据实际修改)
# docker exec mysql mysqladmin -uroot -p$MYSQL_ROOT_PASSWORD flush-logs slow
评论区