介绍

开启 general log 会将所有到达MySQL Server的SQL语句记录下来。

一般不会开启开功能,因为log的量会非常庞大。但个别情况下可能会临时的开一会儿general log以供排障使用。  相关参数一共有3:general_loglog_outputgeneral_log_file

查看日志是否开启

show variables like ‘general_log’;

开启日志功能

set global general_log=on;

日志文件保存位置

show variables like ‘general_log_file’;

设置日志文件保存位置

set global general_log_file=‘tmp/general.lg’;

日志输出类型 table或file

show variables like ‘log_output’;

设置输出类型为 table

set global log_output=‘table’;

设置输出类型为file

set global log_output=‘file’;

log_output=‘FILE’ 表示将日志存入文件,默认值是FILE log_output=‘TABLE’ 表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中

mysql数据库支持同时两种日志存储方式,配置的时候以逗号隔开即可,如:log_output=‘FILE,TABLE’.日志记录到系统专用日志表中,要比记录到文件耗费更多的系统资源,因此对于需要启用慢查日志,又需要比够获得更高的系统性能,那么建议优先记录到文件

开启数据库general_log步骤

1)查看开启状态

show variables like ‘%general_log%‘;

mysql_general_log_q 可以看到默认general_log是OFF的

2)开启

set global general_log = ON;

mysql_general_log_on 这样就将 general_log 开启了,但是要注意这种方式是运行时临时修改,一旦重启mysql则失效了, 如果想永久有效需要在my.cnfmysqld中添加:general_log = 1