在mysql命令行:show variables like '%general%';
mysql> show variables like '%general%';
+------------------+-------------------------------+
| Variable_name | Value |
+------------------+-------------------------------+
| general_log | OFF |
| general_log_file | /var/lib/mysql/localhost.log |
+------------------+-------------------------------+
2 rows in set (0.01 sec)
mysql>
OFF说明没有开启日志记录
临时执行开启日志以及日志路径和日志文件名
SET GLOBAL general_log_file = '/var/lib/mysql/localhost.log';
SET GLOBAL general_log = 'ON';
这时执行的所有sql都会别记录下来,方便查看,但是如果重启mysql就会停止记录需要重新设置
如果想永久生效,可以写到配置文件里:
general_log_file = '/var/lib/mysql/localhost.log';
general_log = 'ON';
重启mysql服务生效
SHOW VARIABLES LIKE "log_output%";
默认值是‘FILE‘,如果是NONE,需要设置
SET GLOBAL log_output='TABLE,FILE'
log_output=‘FILE‘表示将日志存入文件,默认值是‘FILE‘
log_output=‘TABLE‘表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中.
mysql数据库支持同时两种日志存储方式,配置的时候以逗号隔开即可,如:log_output=‘FILE,TABLE‘.日志记录到系统专用日志表中,要比记录到文件耗费更多的系统资源,因此对于需要启用慢查日志,又需要比够获得更高的系统性能,那么建议优先记录到文件.