一、简介
开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。
二、参数说明
slow_query_log 慢查询开启状态
slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)
long_query_time 查询超过多少秒才记录

三、设置步骤
1.查看慢查询相关参数
mysql> show variables like ‘slow_query%’;
±--------------------------±---------------------------------+
| Variable_name | Value |
±--------------------------±---------------------------------+
| slow_query_log | OFF |
| slow_query_log_file | /usr/local/mysql/data/chenzhike-slow.log |
±--------------------------±---------------------------------+

mysql> show variables like ‘long_query_time’;
±----------------±----------+
| Variable_name | Value |
±----------------±----------+
| long_query_time | 10.000000 |
±----------------±----------+
2.方法设置
在/etc/my.cnf设置其参数
[mysqld]
slow_query_log=ON #开启慢查询
slow_query_log_file=/usr/local/mysql/data/chenzhike-slow.log #慢查询存放的位置
long_query_time = 1 #设置查询语句超过几秒就触发慢查询机制
重启mysql

Or 命令行设置其参数可以参考我的https://mp.csdn.net/mdeditor/83787206这一篇文章进行操作。 然后将参数写在配置文件中,需要的时候在重启mysql
3.设置完了查看
show variables like ‘slow_query%’;
show variables like ‘long_query_time’;

4.测试慢查询是否已经开启
Select sleep(4);

看看是否生成了/usr/local/mysql/data/chenzhike-slow.log文件

作者简介: 
陈志珂(高级运维工程师)公众号“铅笔学园”运维内容合作作者之一,目前就职于中国最大的安卓应用软件公司,任高级工程师现在公司任php开发工程师,python开发工程师,高级运维工程师。
铅笔学园:IT资源分享|知识分享,做初级程序员的指明灯