在MySQL中,general_log是一种用于记录数据库操作的日志功能,当启用general_log后,MySQL会记录所有的数据库操作,包括查询、更新、删除以及客户端的连接断开事件等,这些内容都会被记录在general_log指定的文件日志中。
由于general_log记录的内容非常详细,日志文件增长可能增长很快,因此,默认是不开启该功能,启用general_log日志功能可能会对性能产生一定的影响,因此在生产环境中需要结合实际情况选择是否开启。
临时开启general_log方法
登录mysql查看当前general_log是否开启,以及日志路径情况
mysql> show variables like '%general_log%';
|---|----------------------------------------------| | 1 | mysql> show variables like '%general_log%'; |
+------------------+---------------------------+ | Variable_name | Value | +------------------+---------------------------+ | general_log | ON | | general_log_file | /data/mysql/localhost.log | +------------------+---------------------------+
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 | +------------------+---------------------------+ | Variable_name | Value | +------------------+---------------------------+ | general_log | ON | | general_log_file | /data/mysql/localhost.log | +------------------+---------------------------+ |
可在数据库中执行set,临时开启general_log日志(重启MySQL失效)
mysql> set global general_log=on;
|---|------------------------------------| | 1 | mysql> set global general_log=on; |
永久开启general_log方法
在my.cnf中配置以下参数
general_log = on general_log_file = /data/mysql/localhost.log
|-----|---------------------------------------------------------------| | 1 2 | general_log = on general_log_file = /data/mysql/localhost.log |