MySQL开启慢查询日志-调优、监控必备
通过开启MySQL慢查询日志,可以监控到当前MySQL慢查询日志SQL,并可以针对SQL进行优化,提高SQL效率,进儿提升网站性能,服务器性能等。
介绍
1. 查看慢查询日志是否开启:
show variables like "%slow_query_log%";
mysql> show variables like "%slow_query_log%"; +---------------------------+-----------------------------------+ | Variable_name | Value | +---------------------------+-----------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /var/lib/mysql/localhost-slow.log | +---------------------------+-----------------------------------+
- slow_query_log: 慢查询开关
- slow_query_log_file: 慢查询sql 记录的文件地址
2. 查看慢查询日志设置的时间
show variables like "%long_query_time%";
mysql> show variables like "%long_query_time%"; +--------------------------------------------------------+-----------+ | Variable_name | Value | +--------------------------------------------------------+-----------+ | long_query_time | 10.000000 | +--------------------------------------------------------+-----------+k
- long_query_time: 慢查询超过此时间将会记录SQL,默认10s
使用
1.mysql运行状态生效
直接设置mysql运行态,mysql重启会失效
set global slow_query_log='ON'; set global long_query_time=5;
mysql> set global slow_query_log='ON'; Query OK, 0 rows affected (0.01 sec) // 开启慢查询 mysql> set global long_query_time=5; Query OK, 0 rows affected (0.00 sec) // 5s算作慢查询
2.mysql永久生效
修改mysql配置文件,默认/etc/my.ini
vim /etc/my.cnf
[mysqld] # 这里设置开始 show_query_log=1 long_query_time=5 slow_query_log_file=/var/lib/mysql/localhost-slow.log