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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

导读

在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 配置文件,增加或修改下面这个选项:

log-slow-admin-statements = 0

比较坑人的是,这个选项在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.

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



文章转自老叶茶馆公众号,原文链接:https://mp.weixin.qq.com/s/sqQfSGDVMa7H_Se4jN1tYg

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
弹性计算 负载均衡 对象存储
手把手教你白嫖阿里云服务器(免费领服务器)
手把手教你白嫖阿里云服务器(免费领服务器)阿里云免费服务器领取,个人和企业用户均可以申请,个人免费服务器1核2GB 每月750小时,企业u1服务器2核8GB免费使用3个月,阿里云百科分享阿里云免费服务器申请入口、个人和企业免费配置、申请资格条件及云服务器免费使用时长
603 0
|
9月前
|
SQL 存储 关系型数据库
MySQL学习笔记-redo log 和 binlog&两阶段提交
MySQL学习笔记-redo log 和 binlog&两阶段提交
71 0
|
存储 SQL 关系型数据库
Undo Log、Redo Log、binlog与两阶段提交
Undo Log、Redo Log、binlog与两阶段提交
257 0
|
存储 SQL 缓存
mysql中的undo log、redo log 、binlog大致概要
undo log(回滚日志)、redo log(重做日志) 、binlog (归档日志)undo log,事务的原子性,用于事务回滚和MVCC(存储层,记录查询类)redo log,事务的持久性,用于服务器宕机故障恢复(存储层,记录查询类)binlog,用于数据备份和主从复制(服务层,记录更新修改类)日志区别undo log事务开始前的数据值redo log事务完成后的数据值。
162 0
|
存储 SQL 关系型数据库
【redo log、bin log、undolog、purge操作、group commit】
【redo log、bin log、undolog、purge操作、group commit】
172 0
|
SQL 数据库
FAQ系列 | slow log中出现commit、binlog dump等奇怪的记录
FAQ系列 | slow log中出现commit、binlog dump等奇怪的记录
|
SQL 存储 缓存
分析MySQL执行的流程(连接、缓存、分析、优化、执行、Undo Log、Binlog、Redo Log)
熟悉MySQL的都知道MySQL服务端实现主要分为Server层和存储引擎层。Server层负责接收和管理客户端连接、管理缓存、解析SQL、优化SQL、调用存储引擎执行SQL;存储引擎层主要负责存储、查询数据。
分析MySQL执行的流程(连接、缓存、分析、优化、执行、Undo Log、Binlog、Redo Log)
|
SQL 缓存 监控
MySQL必知必会:简介undo log、truncate、以及undo log如何帮你回滚事务(二)
MySQL必知必会:简介undo log、truncate、以及undo log如何帮你回滚事务(二)
456 0
|
SQL 存储 固态存储
MySQL必知必会:简介undo log、truncate、以及undo log如何帮你回滚事务(一)
MySQL必知必会:简介undo log、truncate、以及undo log如何帮你回滚事务(一)
135 0
|
SQL 关系型数据库 MySQL
MySQL更新数据时,日志(redo log、binlog)执行流程
MySQL更新数据时,日志(redo log、binlog)执行流程 项目需要做Es和数据库的同步,而手动在代码中进行数据同步又是Es的一些不必要的数据同步操作和业务逻辑耦合,所以使用的了读取mysql的binlog日志的方式进行同步Es的数据。
1081 0
MySQL更新数据时,日志(redo log、binlog)执行流程