Mysql操作日志(general_log)详解
开启general log将将会把所有到达MySQL Server的SQL语句记录下来。一般不会开启该功能,因为log的量会非常庞大,开启后会有5%-10%的性能损耗,。但个别情况下可能会临时的开一会儿general log以供排障使用。
相关命令
#查看日志是否开启 show variables like 'general_log'; #看看日志输出类型 table或file show variables like 'log_output'; #看看日志文件保存位置 show variables like 'general_log_file';
开启操作日志(general_log)
注:配置的日志路径需赋予mysql权限
方法一:设置配置文件my.cnf(需重启)
添加以下参数
[mysqld] log_output=FILE #日志打印到文件,默认配置,可以配置成table,日志就会记录到mysql库中的相应的表中(slow日志也会受影响) general_log=1 general_log_file=/var/lib/mysql/logs/query_log.log
方法二:动态设置(不重启)
登录mysql执行
mysql> set global log_output='FILE'; mysql> set global general_log=on; mysql> set global general_log_file='/var/lib/mysql/logs/query_log.log';