mysql> show variables like 'slow_query%';
mysql> show variables like 'long_query_time';
slow_query_log 慢查询开启状态
slow_query_log_file 慢查询日志存放的位置(默认为MySQL的数据存放目录)
long_query_time 查询超过多少秒才记录
设置方法1:全局配置
mysql> set global slow_query_log='ON';
mysql> set global slow_query_log_file = '/home/mysql/sql_log/mysql-slow.log';
#超过1秒就记录
mysql> set global long_query_time=1;
设置方法2:修改my.cnf配置文件
vi /etc/my.cnf
[mysqld]
slow_query_log = ON
slow_query_log_file = /home/mysql/sql_log/mysql-slow.log
long_query_time = 1
slow_query_log_file所在的目录需要MySQL的运行帐号的可写权限,如需变更日志文件目录记得给新目录授予777权限,否则slow_query_log一直为OFF
touch /home/mysql/sql_log/mysql-slow.log
chmod 777 -R /home/mysql/sql_log
测试
mysql> select sleep(2);
查看
cat /home/mysql/sql_log/mysql-slow.log
慢查询分析工具
Mysqldumpslow:mysql自带
pt-query-digest:功能更多更强大