求助 --mysqlbinlog read-from-remote 最后一条记录同步异常

totola147 2017-03-29 05:54:44
环境:
auto_commit=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
binlog_format=ROW
mysql version=5.6.33

问题:
我用mysqlbinlog 做binlog server 但是最后一个语句后的commit 总是无法同步 (源库事务已经提交没有未提交事务!)
除非我在原库上执行 commit ; 或者flush logs;或者再插入一条记录,但是新的一条记录后面的commit 再次缺失
如下图示:


mysqlbinlog --read-from-remote-server --raw --result-file=$v_fullpath/ --stop-never --stop-never-slave-server-id=xx mysql-bin.000015

数据库里的binlog event


mysqlbinlog --stop-never 拉取到的binlog


请问大家 如何使得mysqlbnilog能够完全同步binlog


使用 -to-last-log 则是正常的

我测试了statement模式 也是一样的结果 最后一条语句缺少commit


难道就只能我自己在最后一个rollback前面添加commit吗?
...全文
396 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2017-06-21
  • 打赏
  • 举报
回复
只遇到像是缓存的问题,随意 insert 一些记录,在 master 中查 binlog 是有数据的(结尾是正常的 commit) 但 mysqlbinlog 转储的文件中读不到,在 master 上 flush logs / 终止 mysqlbinlog 或者在 master 上写入大数据,这个时候可以从转储的文件中读取,而且是有正常的 commit 出现 rollback 的也会有一个类似下面的错误,但 “ 在 master 上 flush logs / 终止 mysqlbinlog 或者在 master 上写入大数据 ”, 后正常,应该也是缓存的数据没有写入转储文件导致 ERROR: Error in Log_event::read_log_event(): 'read error', data_len: 4194347, event_type: 30
zjcxc 2017-06-21
  • 打赏
  • 举报
回复
我的也是 5.7.18,没发现有楼主说的问题
totola147 2017-06-20
  • 打赏
  • 举报
回复
异常的原因及规避方法参考下文: https://mp.weixin.qq.com/s/m-LotQ_LIdWFO_RRnNbCDw 感谢沃趣科技!

56,940

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧