mysql开启操作日志(包含所有操作)

配置

方法一:设置配置文件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性能的影响暂时未测试。

posted @ 2018-08-02 15:35  leffss  阅读(1543)  评论(0编辑  收藏  举报