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