1.通过配置文件永久开启慢查询
1.vim /etc/my.cnf
[mysqld]
slow_query_log = 1 #是否开启慢查询日志,1表示开启,0表示关闭
slow-query-log-file = /var/log/mysql/slow_query.log #MySQL数据库慢查询日志存储路径
long_query_time = 3 #慢查询阈值,当查询时间多于设定的阈值时,记录日志 秒为单位
2.重启mysql服务加载配置文件
- service mysqld restart
2.登录数据库临时开启慢查询
1.登录数据库
mysql> show variables like '%slow_query_log%'; #查询是否开启
+---------------------+-----------------------------------------------+
| Variable_name | Value |
+---------------------+-----------------------------------------------+
| slow_query_log | OFF #默认关闭
| slow_query_log_file | /var/log/mysql/slow_query.log #设置目录
+---------------------+-----------------------------------------------+
2 rows in set (0.00 sec)
mysql> set global slow_query_log=1; #开启慢查询
Query OK, 0 rows affected (0.09 sec)
mysql> set global slow_query_log_file="/var/log/mysql/slow_query.log"; #设置慢目录
Query OK, 0 rows affected (0.01 sec) #注意:设置的目录需要权限
mysql> show variables like '%slow_query_log%';
+---------------------+-----------------------------------------------+
| Variable_name | Value |
+---------------------+-----------------------------------------------+
| slow_query_log | ON |
| slow_query_log_file | /var/log/mysql/slow_query.log
+---------------------+-----------------------------------------------+
2 rows in set (0.00 sec)
2.注意事项
- 设置的目录需要mysql的文件控制权限
- chown -R mysql.mysql /var/log/mysql
- chmod -R 777 /var/log/mysql
- 两种方法选取其一(推荐使用chown)
MySQL开启慢查询日志时报Errcode: 13 的解决方法
就是目录文件权限的问题