«

MySQL开启各种日志

时间:2023-3-1 22:51     作者:wen     分类: MySQL


general_log支持热开启,热关闭。开启general_log会记录所有操作mysql命令,所以会产生大量文件,一般不开启。相关参数general_log、log_output、general_log_file

查看日志状态

# 查看日志是否开启
mysql> show variables like 'general_log';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| general_log   | OFF   |
+---------------+-------+
1 row in set, 1 warning (0.00 sec)

# general_log_file日志保存位置
mysql> show variables like 'general_log_file';
+------------------+-------------------------------------------------+
| Variable_name    | Value                                           |
+------------------+-------------------------------------------------+
| general_log_file | E:\phpEnv\server\mysql\mysql-5.7\data\wenxk.log |
+------------------+-------------------------------------------------+
1 row in set, 1 warning (0.00 sec)

# 日志输出类型 table和file两种类型
mysql> show variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | FILE  |
+---------------+-------+
1 row in set, 1 warning (0.00 sec)

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

开启general_log日志状态

# 开启日志
mysql> set global general_log=on;
Query OK, 0 rows affected (0.03 sec)

mysql> show variables like 'general_log';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| general_log   | ON    |
+---------------+-------+
1 row in set, 1 warning (0.00 sec)

永久修改需要在my.cnf中[mysqld]添加
general_log = 1
general_log_file= E:\phpEnv\server\mysql\mysql-5.7\data\wenxk.log