MySQL 的查询日志支持写入到文件或写入数据表两种输出形式。启用了普通查询日志或慢查询日志功能后,可以选择让服务器把日志写入到日志文件、mysql 数据库中的日志表、或者同时写到这两个地方。
可以通过以下命令查看日志输出类型:
mysql> SHOW VARIABLES LIKE '%log_out%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output | FILE |
+---------------+-------+
1 row in set, 1 warning (0.08 sec)
结果显示,日志输出类型为 FILE。
要想在运行时更改日志输出目标,可以在启动服务器时,设置全局系统变量 log_output 的值,格式如下:
SET GLOBAL log_output='value';
value 的值可以是:
FILE:表示把日志写入到文件。如果未指定 log_output 的值,默认为 FILE。
TABLE:表示把日志写入到 mysql 数据库的 slow_log 或 general_log 表中。
MySQL 可以同时支持 2 种日志存储方式,配置的时候以逗号隔开,即 log_output='FILE,TABLE'。
需要注意的是,系统变量 log_output 只确定了日志使用什么输出目标,并不会启用日志功能。