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