02 慢查询

官方工具mysqldumpslow,查看慢查询之前,需要对MySQL进行一些配置操作。

mysql> show variables like '%query%';
+------------------------------+-----------------------------------+
| Variable_name                | Value                             |
+------------------------------+-----------------------------------+
| binlog_rows_query_log_events | OFF                               |
| ft_query_expansion_limit     | 20                                |
| have_query_cache             | YES                               |
| long_query_time              | 10.000000                         |
| query_alloc_block_size       | 8192                              |
| query_cache_limit            | 1048576                           |
| query_cache_min_res_unit     | 4096                              |
| query_cache_size             | 1048576                           |
| query_cache_type             | OFF                               |
| query_cache_wlock_invalidate | OFF                               |
| query_prealloc_size          | 8192                              |
| slow_query_log               | OFF                               |
| slow_query_log_file          | /var/lib/mysql/tdh524-01-slow.log |
+------------------------------+-----------------------------------+

# 开启慢查询日志
SET GLOBAL slow_query_log = 'ON';
# 更新配置
FLUSH LOGS;

# 查找完成之后,要关闭
SET GLOBAL slow_query_log = 'OFF';
# 更新配置
FLUSH LOGS;
  • slow_query_log_file : 慢查询日志存储位置
  • long_query_time:运行查询执行的时长,超过这个时长,则认为是慢查询
  • log_queries_not_using_indexes:是否记录不使用索引的查询
  • slow_query_log:是否开始慢查询日志
mysqldumpslow /var/lib/mysql/tdh524-01-slow.log

mysqldumpslow用法

上次修改: 14 April 2020