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