在mysql数据库实例下执行以下语句可以排查mysql慢查询语句
-- 查询慢查询日志
SELECT * FROM `slow_log`;
SHOW VARIABLES LIKE 'slow%';
-- 慢查询定义阈值,单位是秒,精度可到毫秒
SHOW VARIABLES LIKE 'long%';
SHOW VARIABLES LIKE 'log%';
-- 临时开启慢查询日志
SET GLOBAL slow_query_log = ON;
-- 临时开启慢查询日志
SET GLOBAL slow_query_log = OFF;
-- 模拟执行10秒的sql语句
SELECT SLEEP(10);
-- 输出慢查询日志到表
SET GLOBAL log_output='TABLE';
-- 输出慢查询日志到文件
SET GLOBAL log_output='FILE';
永久开启慢查询日志:
my.cnf找到[mysqld]下面加上
代码如下
slow_query_log=1
slow_query_log_file=/data/mysqldata/slowquery.log
long_query_time=2