MySQL开启日志记录查询/执行过的SQL语句

2022-08-13 617点热度 0人点赞 0条评论

说明

有时候需要在MySQL服务器层面去查找sql的执行记录,例如有多个应用的时候,希望看到MySQL的SQL执行情况。

查询日志功能是否开启

执行SQL命令:

SHOW VARIABLES LIKE 'general%';

mysql> SHOW VARIABLES LIKE 'general%';
+------------------+---------------------------------+
| Variable_name    | Value                           |
+------------------+---------------------------------+
| general_log      | OFF                             |
| general_log_file | /var/lib/mysql/1ae64709485d.log |
+------------------+---------------------------------+
2 rows in set (0.00 sec)

general_log:日志功能是否开启,默认关闭OFF,开为ON

general_log_file:日志文件保存位置

开启日志

执行SQL,set GLOBAL general_log='ON';,如下:

mysql> set GLOBAL general_log='ON';
Query OK, 0 rows affected (0.05 sec)

现在再去查:SHOW VARIABLES LIKE 'general_log'; 会显示ON了,说明SQL日志已经开启

根据上面查询得到日志文件的路径,使用tail命令可以查询SQL执行日志了:

tail -f /var/lib/mysql/1ae64709485d.log

说明

开启日志后SQL数量是很大的,建议问题查好后,就关闭,负责可能影响服务器性能。

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论