MySql开启慢查询

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

如果存在则说明开启成功,后期可针对文件中的查询进行优化。

你可能感兴趣的:(MySql开启慢查询)