查看慢查询sql
show variables like '%slow_query_log%';
开启 慢查询
set global slow_query_log = 1;
使用set global slow_query_log = 1 开启了慢查询日志只对当前数据库生效,
如果Mysql重启则会失效
-----------------------------------
如果需要永久生效,就必须修改配置文件my.cnf (其他系统变量也是如此)
修改my.cof文件,[mysqld]下增加或修改参数
slow_query_log 和 slow_query_log_file后,然后重启Mysql服务器,也即将如下两行配置my.cnf文件
slow_query_log = 1;
slow_query_log_file = /var/lib/mysql/xxxx-slow.log
那么开启了慢查询后,什么样的sql才会记录到慢查询日志里面?
查看当前多少秒慢
show variables like 'long_query_time%';
设置慢的阀值时间
show global long_query_time = 3;
为什么设置后看不出变化?
需要重新连接或新开一个会话才能看到修改值
show variables like 'long_query_time%';
show global variables like 'long_query_time';
在生产环境中,如果要手工分析日志,查找,分析sql,显然是个体力活,Mysql 提供了日志分析工具
【mysqldumpslow】 登入mysql后输入 mysqldumpslow — help