详解MySQL如何监控系统全部执行过的sql语句

概述

考虑这么一个场景,开发系统时有个模块执行很慢,但是又不知道这中间涉及到什么sql,就可以设想在没什么业务量的时候来监控数据库全部执行过的sql语句,方便排查问题。


涉及命令

1、开启general log模式

mysql>set global general_log=on;

2、关闭general log模式

mysql>set global general_log=off;

3、设置log文件路径

mysql>set global general_log_file='xx/xx/xx.log';


1、查看是否开启日志记录

show variables like “general_log%” ;

详解MySQL如何监控系统全部执行过的sql语句


2、临时开启日志记录

set global general_log='ON';

这时执行的所有sql都会被记录下来,但是如果重启mysql就会停止记录需要重新设置

详解MySQL如何监控系统全部执行过的sql语句


3、查看日志

# tail -f /usr/local/mysql/data/iZmfgnjkehk13uZ.log

详解MySQL如何监控系统全部执行过的sql语句


这里主要是介绍general_log这个参数,大家有空也可以测试一下。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

相关推荐