配置
方法一:设置配置文件my.cnf(需重启)
添加以下参数
[mysqld]
log_output=FILE # 日志打印到文件,默认配置,可以配置成table,日志就会记录到mysql库中的相应的表中(slow日志也会受影响)
general_log=1
general_log_file=/application/mysql/logs/query_log.log
- 其中
log_output
选项默认配置日志打印到文件,还可以配置成table,日志就会记录到mysql库中的相应的表中(slow日志也会受影响)
方法二:动态设置(不重启)
登录mysql执行
mysql> set global log_output='FILE'
mysql> set global general_log=on;
mysql> set global general_log_file='/application/mysql/logs/query_log.log';
查看日志
cat /application/mysql/logs/query_log.log
内容格式如下:
/application/mysql/bin/mysqld, Version: 5.7.21-log (MySQL Community Server (GPL)). started with:
Tcp port: 3306 Unix socket: /application/mysql/logs/mysql.sock
Time Id Command Argument
2018-08-01T16:42:35.894448+08:00 3 Connect root@localhost on using TCP/IP
2018-08-01T16:42:35.895571+08:00 3 Query select @@version_comment limit 1
2018-08-01T16:42:40.828135+08:00 3 Query SELECT DATABASE()
2018-08-01T16:42:40.829195+08:00 3 Init DB test
2018-08-01T16:42:40.833266+08:00 3 Query show databases
2018-08-01T16:42:40.835030+08:00 3 Query show tables
2018-08-01T16:42:40.836246+08:00 3 Field List test2
2018-08-01T16:42:40.861739+08:00 3 Field List test
2018-08-01T16:42:46.627456+08:00 3 Query show tables
2018-08-01T16:42:52.307121+08:00 3 Query select * from test
2018-08-01T16:42:57.882481+08:00 3 Query select * from test2
注: 每个连接都有一个id标识,根据id可以查询到链接的ip和账号
总结
general_log 日志一般是 debug 时开启,平时开启此日志后对mysql性能的影响暂时未测试。