步骤
-
开启慢查询日志
SET GLOBAL slow_query_log = on; SHOW VARIABLES like 'slow_query_log';
-
设置时间限制
SET GLOBAL long_query_time = 1; -- 单位s SHOW VARIABLES LIKE '%long_query_time%';
因为
long_query_time
参数只对新的数据库连接生效,所以还需要重启msql客户端。 -
不记录未使用索引sql
SET GLOBAL log_queries_not_using_indexes = 'off'; SHOW VARIABLES LIKE '%log_queries_not_using_indexes%';
-
创建慢查询日志输出文件
进入
mariadb
容器的/var/lib/mysql/
目录,创建文件mariadb-slow.log
-
设置慢查询日志输出文件
SET GLOBAL slow_query_log_file = '/var/lib/mysql/mariadb-slow.log'; SHOW VARIABLES LIKE '%slow_query_log_file%';
-
查看慢查询日志
可以进入容器,查看/var/lib/mysql/mariadb-slow.log
文件。
Q&A
-
更新设置之后,查询结果显示未生效怎么办?
答:重新开启一个新的session查询。例如,执行命令
SET GLOBAL slow_query_log = on;
后,再开启一个新的session执行命令SHOW VARIABLES like 'slow_query_log';