kundb2.1.8如何开启general_log

  其他常见问题
内容纲要

概要描述


general log,一般日志,也叫作通用、普通日志,

在默认情况下,MySQL是不会打开general log的,这个log里面会记录MySQL所有的SQL语句,不管是查询语句,还是DML语句,还是DDL语句,还是DCL语句,这些语句统统都会被记录在general log文件中。就连我们连接和断开MySQL数据库的这些语句。

MySQL会把它收到的所有SQL语句按照接收的顺序依次记录在general log中。我们需要注意的是,这里接受的SQL语句的顺序,并不等于SQL语句就是按照这个接受的顺序来执行,因为有的时候,一些SQL可能需要等待其他锁被释放后才会被真正的执行,SQL语句的执行顺序是和binlog中的顺序是相匹配的。

General log默认不开启的原因有两个:

  • 日志将会非常大,对磁盘是一个很大的压力。因为所有的操作都会被记录下来。
  • 对MySQL数据的性能有一定的影响。

所以,我们一般不会开启这个general log记录的功能,只有在排查某些错误的时候,才会临时打开一下,等到debug完成之后,再把它关闭。

详细介绍


临时开启的方式比较简单 SET GLOBAL general_log = 'ON';

开启之后,通过 show variables like '%general_log%'; 检查开启是否成功,以及日志的输出文件。

高可用kundb,要到master节点后台查看日志(kv4.log,即代表当前的master节点是kv4);
另外上面的日志路径是容器内的路径,对应宿主机上的/mnt/disk1/kundb1/kundbdata/data/kv4.log

实际生成的日志信息较多,建议通过管道命令过滤结果。

debug排查问题结束之后,记得一定要 SET GLOBAL general_log = 'OFF'; 关闭掉。

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。