慢查询日志可以帮助DBA或开发人员定位可能存在问题的sql语句,从而进行优化。
如何开启
默认情况下,MysqL是不开启慢查询日志的。可以通过以下命令查看是否开启:
MysqL> SHOW VARIABLES LIKE 'long_query_time';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.01 sec)
MysqL> SHOW VARIABLES LIKE 'slow_query_log';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | OFF |
+----------------+-------+
1 row in set (0.00 sec)
临时开启
通过以下命令可以在客户端临时开启慢查询日志:
MysqL> set global slow_query_log='ON';
Query OK,0 rows affected (0.00 sec)
MysqL> set global slow_query_log_file='/var/lib/MysqL/instance-1-slow.log';
Query OK,0 rows affected (0.00 sec)
MysqL> set global long_query_time=2;
Query OK,0 rows affected (0.00 sec)
配置开启
也可以在服务端配置 MysqL ,通过修改配置文件的这几个参数来开启:
/etc/my.cnf
[MysqLd]
slow_query_log = ON
slow_query_log_file = /var/lib/MysqL/instance-1-slow.log
long_query_time = 2
配置后,重启 MysqL 服务即可。