被网上流传的启用日志记录坑惨了,试了好多一点用也没有;所以最后去看的手册找到了相关的设置方法,这里记录一下。

这里介绍的是记录日志到文件。

主要涉及到3个变量:

  • log_output 默认FILE,可取值TABLEFILENONE 设置日志记录到哪
  • general_log 默认OFF,可取值OFFON 设置是否启用日志记录
  • general_log_file 默认host_name.log,用来设置日志文件的文件名

log_outputgeneral_log之间的关系很微妙:

  • 如果log_output值为NONE,则无论general_log如何设置,都不会启用日志记录
  • 如果general_log值为OFF,则无论log_outout如何设置,都不会启用日志记录

即,正确的启用日志记录方法:

log_output = FILE
general_log = ON
general_log = "query.log"

注意:日志文件在变量datadir所设置目录下,若datadir未设置,则为默认位置。


参考:
MySQL 5.6 Reference Manual 5.1.4 Server System Variables
MySQL 5.6 Reference Manual 5.2.1 Selecting General Query and Slow Query Log Output Destinations