首页 > 数据库DBA > MYSQL > MySQL中的日志类型(二)General query log
2020
01-13

MySQL中的日志类型(二)General query log

General log:

日志内容格式

1.General query log可以记录在文件中,也可以记录在表中
在文件中会记录时间、线程ID、命令类型以及执行的语句

2.当日志记录在表中时,还会记录账号信息,示例如下:

记录时间

General Query Log在数据库接收到客户端发来的语句时进行记录。这意味着General Query Log的顺序可能和实际语句执行的顺序是不同的。

设置方法

General Query Log可以在数据库启动时开启,也可以在数据库运行时开启。

1、首先查看log_output,确认日志输出到文件还是数据库。


通过以上结果可以发现,log_output的值为FILE,证明是输出到日志文件,如果为TABLE则输出到默认’mysql’数据库中的相应日志表,该表的默认引擎为CSV

2. 接下来通过如下命令可以查看 mysql默认的 General log 配置

general_log的值为OFF,所以当前general_log是关闭的。general_log_file变量的值是日志文件的路径

3.要开启General_log日志,有这么几种情况(如下)

<1>.在数据库启动前开启:

<2>.在数据库运行时:

设置FILE日志分割(每天) 这日志比较大,建议还是分割处理

将上面脚本保存至 /etc/logrotate.d 下 命名为mysql_general

查看日志目录

可以看到日志已经切分出来了

当然mysql的其他日志也可以分割

3.TABLE模式日志

<1> 查看当前日志输出方式

关闭通用查询日志(这个东西开起来还是很耗资源空间的)

可以通过设置系统变量general_log来关闭通用查询日志,此时日志输出设置为FILE 或 TABLE 或 FILE,TABLE

执行完上面2条语句,然后你再随便插入一条数据,再去日志表里查找,就找不到任何日志记录了。

赞赏

微信赞赏支付宝赞赏

最后编辑:
作者:shooter
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。