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

本人实在做mysql数据库读写分离的时候想看看主从数据库都是运用的什么sql,所以才开启此日志,不使用的时候记得关掉,否则会大量占用磁盘空间(切记)。

临时开启Log步骤
1.查看LOG功能
首先,查看是否已经开启实时SQL语句记录。

mysql> SHOW VARIABLES LIKE "general_log%";
1
结果如下图:

**本人使用的Navicat客户端,当然了,在Linux中也可以使用命令行**

2.打开Log功能(临时性)
如下,打开实时记录SQL语句功能,并指定自定义的log路径:

mysql> SET GLOBAL general_log = 'ON';
1
下面这项可以不配置,也有默认的,随便。

mysql> SET GLOBAL general_log_file = '/var/log/mysql/general_log.log';
1
这两个命令在MySQL重启后失效,为临时方法。
说明:这个文件会随着访问的增加而不断变大,所以生产环境建议临时开启,用完及时关闭。

永久开启Log步骤
1.需要编辑my.cnf文件
vim /etc/my.cnf
1
加入下面两行

general_log = 1
general_log_file = /var/log/mysql/general_sql.log
1
2
2.重启mysql生效
service mysqld restart
1
此命令时CentOS6版本,7的命令有所改变

3.实时查看/也可使用Xftp
过一小段时间后,就可以导出查看/var/lib/mysql/sql_statement.log文件了,里面记录了所有执行的SQL语句。
如果要实时查看该文件的改动,在Linux系统用

tail -f /var/lib/mysql/general_sql.log
————————————————
版权声明:本文为CSDN博主「探索丶挑战丶突破」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36698956/article/details/83347755

posted @   zhouyuqiang  阅读(2264)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示