您现在的位置是:首页 > 博客日记 > 数据库 数据库

mysql开启慢查询日志

2019-09-04 16:52:52 【数据库】 人已围观

慢日志查询是否开启

  1. mysql> show variables like 'slow_query_log';
  2. +----------------+-------+
  3. | Variable_name | Value |
  4. +----------------+-------+
  5. | slow_query_log | OFF |
  6. +----------------+-------+
  7. 1 row in set (0.00 sec)

慢日志查询没有开启,可以开启一下。

找到my.cnf,添加如下内容sudo vim /usr/local/mysql/my.cnf

添加慢查询日志

  1. log_output=file
  2. slow_query_log=on
  3. slow_query_log_file = /tmp/mysql-slow.log
  4. log_queries_not_using_indexes=on
  5. long_query_time = 1

重启mysql。

  1. mysql> show variables like 'slow_query_log';
  2. +----------------+-------+
  3. | Variable_name | Value |
  4. +----------------+-------+
  5. | slow_query_log | ON |
  6. +----------------+-------+
  7. 1 row in set (0.00 sec)
  8. mysql> show variables like '%quer%';
  9. +----------------------------------------+------------------------------------+
  10. | Variable_name | Value |
  11. +----------------------------------------+------------------------------------+
  12. | binlog_rows_query_log_events | OFF |
  13. | ft_query_expansion_limit | 20 |
  14. | have_query_cache | YES |
  15. | log_queries_not_using_indexes | ON |
  16. | log_throttle_queries_not_using_indexes | 0 |
  17. | long_query_time | 1.000000 |
  18. | query_alloc_block_size | 8192 |
  19. | query_cache_limit | 1048576 |
  20. | query_cache_min_res_unit | 4096 |
  21. | query_cache_size | 8388608 |
  22. | query_cache_type | OFF |
  23. | query_cache_wlock_invalidate | OFF |
  24. | query_prealloc_size | 8192 |
  25. | slow_query_log | ON |
  26. | slow_query_log_file | /tmp/mysql-slow.log |
  27. +----------------------------------------+------------------------------------+

这时候再看,已经开启了慢查询日志。

  1. $ sudo cat /tmp/mysql-slow.log
  2. /usr/local/mysql/bin/mysqld, Version: 5.6.40-log (Source distribution). started with:
  3. Tcp port: 3306 Unix socket: /tmp/mysql.sock
  4. Time Id Command Argument

如果更改日志目录位置
比如,更改为/home/msyql/log/mysql-slow.log
至少需要将log目录所有者设置为mysql:mysql。
这样重启mysql的时候,才能自动生成mysql-slow.log文件。

  1. jiqing@jiqing-pad:/home/mysql/log$ ll
  2. 总用量 12
  3. drwxr-xr-x 2 mysql mysql 4096 5 31 01:46 ./
  4. drwxr-xr-x 3 jiqing jiqing 4096 5 31 01:26 ../
  5. -rw-rw---- 1 mysql mysql 175 5 31 01:46 mysql-slow.log
  6. jiqing@jiqing-pad:/home/mysql/log$ pwd
  7. /home/mysql/log

如果log目录不是mysql用户权限,将无法生成日志文件,mysql用户无权写入数据。



关注TinyMeng博客,更多精彩分享,敬请期待!
 

很赞哦! ()