FAQ系列 | slow log中出现commit、binlog dump等奇怪的记录

简介: FAQ系列 | slow log中出现commit、binlog dump等奇怪的记录

导读

在slow query log中频繁出现commit、binlog dump等奇怪的记录,本来这种SQL应该很快结束,不应该出现在slow query log中才对,这是为什么呢?

现象

线上有个数据库,在slow log中,存在大量类似下面的记录:

# Time: 150823 13:56:08
# User@Host: repl[repl] @ slave [10.x.x.x]
# Query_time: 9.000833 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 1
SET timestamp=1377237368;
# administrator command: Binlog Dump;

或者这样的:

# Time: 150823 14:56:08

# User@Host: repl[repl] @ slave [10.x.x.x]

# Query_time: 2.000833 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 1
SET timestamp=1377237368;

COMMIT;

每完成一次COMIT 或 binlog dump都会被记录下来,看着非常不爽。

经过排查,最后确认是特定版本存在这个现象,目前发现官方 5.1.49 存在,估计整个官方 5.1.x 都会有这个现象。

解决方法

修改 my.cnf 配置文件,增加或修改下面这个选项:

Include slow administrative statements in the statements written to the slow query log. Administrative statements include ALTER TABLE, ANALYZE TABLE, CHECK TABLE, CREATE INDEX, DROP INDEX, OPTIMIZE TABLE, and REPAIR TABLE.

比较坑人的是,这个选项在5.1无法在线修改,需要重启mysqld才行。

手册上关于这个选项的解释如下:

Include slow administrative statements in the statements written to the slow query log. Administrative statements include ALTER TABLE, ANALYZE TABLE, CHECK TABLE, CREATE INDEX, DROP INDEX, OPTIMIZE TABLE, and REPAIR TABLE.

手册也有不靠谱的时候啊,还是实践出真知,哈哈。

            </div>
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6天前
|
关系型数据库 MySQL 数据库
Mysql数据库redo log及binlog的写入
Mysql数据库redo log及binlog的写入
|
6天前
|
监控 安全 数据库
Binlog vs. Redo Log:数据库日志的较劲【高级】
Binlog vs. Redo Log:数据库日志的较劲【高级】
82 0
|
6天前
|
存储 缓存 关系型数据库
Binlog vs. Redo Log:数据库日志的较劲【基础】
Binlog vs. Redo Log:数据库日志的较劲【基础】
210 0
|
8月前
|
SQL 存储 关系型数据库
MySQL中的二进制日志(binlog)与中继日志(Relay log)
MySQL中的二进制日志(binlog)与中继日志(Relay log)
394 0
|
6天前
|
SQL 存储 关系型数据库
认真学习MySQL中的二进制日志(binlog)与中继日志(Relay log)
认真学习MySQL中的二进制日志(binlog)与中继日志(Relay log)
114 0
|
7月前
|
存储 缓存 关系型数据库
MySQL中的日志(redo log、undo log、binlog)
MySQL中的日志(redo log、undo log、binlog)
|
7月前
|
SQL 存储 关系型数据库
MySQL学习笔记-redo log 和 binlog&两阶段提交
MySQL学习笔记-redo log 和 binlog&两阶段提交
63 0
|
10月前
|
关系型数据库 MySQL
Mysql Redo log和BinLog的区别
最开始 MySQL 里并没有 InnoDB 引擎。MySQL 自带的引擎是 MyISAM,但是 MyISAM没有 crash-safe 的能力,binlog 日志只能用于归档。而 InnoDB 是另一个公司以插件形式引入MySQL 的,既然只依靠 binlog 是没有 crash-safe 能力的,所以 InnoDB 使用另外一套日志系 统——也就是 redo log 来实现 crash-safe 能力
90 0
|
11月前
|
存储 SQL 关系型数据库
Undo Log、Redo Log、binlog与两阶段提交
Undo Log、Redo Log、binlog与两阶段提交
226 0
|
SQL 存储 关系型数据库
MySQL的Binlog日志和Relay Log日志存储的SQL都是一样的吗?底层原理是什么?
MySQL的Binlog日志和Relay Log日志存储的SQL都是一样的吗?底层原理是什么?
310 0