查询超时时间:long_query_time
启动慢查日志:log_slow_queries={YES|NO}
启动慢查日志 : slow_query_log
日志记录文件:slow_query_log_file [= file_name ]
MySQL如果启用了slow_query_log=ON选项,就会记录执行时间超过long_query_time的查询(初使表锁定的时间不算作执行时间)。日志记录文件如果没有给出file_name值,
默认为主机名,后缀为-slow.log。如果给出了文件名,但不是绝对路径名,文件则写入数据目录。
mysql> show global variables like '%slow_query_log%'; +---------------------+-----------------------------------+ | Variable_name | Value | +---------------------+-----------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /data/mysql/iZ28cmq5qeaZ-slow.log | +---------------------+-----------------------------------+ 2 rows in set (0.03 sec)
默认没有启用慢查询,为了服务器调优,建议开启。
mysql> set global slow_query_log=ON; Query OK, 0 rows affected (0.10 sec) mysql> show global variables like '%slow_query_log%'; +---------------------+-----------------------------------+ | Variable_name | Value | +---------------------+-----------------------------------+ | slow_query_log | ON | | slow_query_log_file | /data/mysql/iZ28cmq5qeaZ-slow.log | +---------------------+-----------------------------------+ 2 rows in set (0.00 sec)
超长时间默认为10秒,超过了即为慢查询。 mysql> show global variables like 'long_query_time'; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+ 1 row in set (0.00 sec)