慢日志作用
MySQL可以通过开启配置记录下查询超过指定时间的语句。借助慢日志,可以更好地分析性能的瓶颈,进而优化数据库系统的性能。
参数说明
默认情况下,mysql是不开启慢日志的
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| mysql> show variables like 'slow_query%'; +---------------------------+----------------------------------+ | Variable_name | Value | +---------------------------+----------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /mysql/data/localhost-slow.log | +---------------------------+----------------------------------+
mysql> show variables like 'long_query_time'; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+
|
slow_query_log
: 慢查询开启状态
slow_query_log_file
: 慢查询日志存放的位置
long_query_time
: 查询超过多少秒才记录,默认10s
参数详情见:https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_long_query_time
设置步骤
用set参数设置重启后失效。一般使用启动配置文件设置以下参数
1 2 3 4
| [mysqld] slow_query_log = ON slow_query_log_file = /usr/local/mysql/slow.log long_query_time = 1
|
如果服务已经运行中,重启一下即可
测试
执行一条耗时大于1s的语句
查看日志记录情况
1
| cat /usr/local/mysql/slow.log
|