1.为何要开启慢查询
程序中的慢查询,会影响用户体验以及应用程序性能,所以需要开启。
2.开启慢查询方法一
2.1 查看慢查询相关参数
mysql> show variables like 'slow_query%';
+---------------------+---------------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------------+
| slow_query_log | OFF |
| slow_query_log_file | /var/lib/mysql/VM_0_6_centos-slow.log |
+---------------------+---------------------------------------+
2 rows in set (0.00 sec)
mysql> show variables like 'long_query%';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.00 sec)
2.2 开启慢查询
备注:该方法只是临时生效,mysql重启后就会失效
mysql> set global slow_query_log='ON';
Query OK, 0 rows affected (0.00 sec)
2.3 设置慢查询日志存放位置
mysql> set global slow_query_log_file='/var/lib/mysql/logs/slow.log';
Query OK, 0 rows affected (0.00 sec)
# mysql必须对该目录有读写权限
2.4 设置记录超过1秒的查询
mysql> set global long_query_time=1;
Query OK, 0 rows affected (0.00 sec)
3.开启慢查询方法二
备注:该方法修改永久有效
直接修改my.cnf,在[mysqld]下方加入以下参数
[mysqld]
slow_query_log = ON
slow_query_log_file = /var/lib/mysql/logs/slow.log
long_query_time = 1
4.重启MySQL服务
service mysqld restart
查看参数即可发现已开启慢查询。
mysql> show variables like 'slow_query%';
+---------------------+------------------------------+
| Variable_name | Value |
+---------------------+------------------------------+
| slow_query_log | ON |
| slow_query_log_file | /var/lib/mysql/logs/slow.log |
+---------------------+------------------------------+
2 rows in set (0.00 sec)
mysql> show variables like 'long_query%';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 1.000000 |
+-----------------+----------+
1 row in set (0.00 sec)
5.慢查询验证
5.1 执行一条慢查询SQL
select sleep(2);
5.2 查看慢查询日志
tail -f /var/lib/mysql/logs/slow.log
如果存在则说明开启成功,后期可针对文件中的查询进行优化。
网友评论