MySQL修改general-log日志
MySQL查看SQL执行记录
MySQL查看SQL执行记录,主要有两种方式,这里分别介绍一下。
- 方法1:查看
general-log
日志 - 方法2:查看
bin-log
日志
1.查看general-log
日志
1.1 查看相关变量
mysql> show variables like 'general%'; +------------------+--------------------------------------------------------+ | Variable_name | Value | +------------------+--------------------------------------------------------+ | general_log | OFF | | general_log_file | D:/Program Files/MySQL/MySQL Server 5.7/logs/mysql.log | +------------------+--------------------------------------------------------+ 2 rows in set, 1 warning (0.03 sec)
可以看到在该目录下,是没有mysql.log这个文件的,原因是,mysql并没有默认开启general-log
这个设置。
1.2 设置相关变量
执行SQL语句:set global general_log = ON;
,但是如果需要永久生效,还是得修改my.cnf/my.ini
文件([mysqld]后中修改:general_log = 1
)如下:
#general-log=0 default value general-log=1
1.3 重启mysql
1.4 再次检验
mysql> show variables like 'general%'; +------------------+--------------------------------------------------------+ | Variable_name | Value | +------------------+--------------------------------------------------------+ | general_log | ON | | general_log_file | D:/Program Files/MySQL/MySQL Server 5.7/logs/mysql.log | +------------------+--------------------------------------------------------+ 2 rows in set, 1 warning (0.00 sec)
1.5 执行操作
mysql> use insidemysql Database changed mysql> show tables; +-----------------------+ | Tables_in_insidemysql | +-----------------------+ | buy_log | | fact_sales_lawson | | matrix | | student | | student_temp | | t | | t2 | | t3 | +-----------------------+ 8 rows in set (0.00 sec) mysql> select * from t; +------+ | i | +------+ | 1 | +------+ 1 row in set (0.02 sec)
查看相应的general-log文件:
发现,刚才执行的相关mysql的操作,均已记录到了mysql.log中。
方法2
查看bin-log
日志,关于bin-log
日志,笔者之前就已经做过介绍,详见链接:https://blog.csdn.net/liu16659/article/details/83755136