dm同步 worker 中异常报错 i/o timeout

有没有做过gtid的调整? 如果没有,默认没有开启gtid,不可能出现这个event的。

没有调整过

设置过mgr?

没有,主从架构

确认没有开启mgr

同步源是m还是s? 在所有的是m和s实例上执行下 show global variables like ‘%gtid%’; 看卡

接下来要看 mysql 8中这个event是怎么产生的? 如何彻底关闭掉? 不排除 dm和mysql 8 有一些兼容性问题。

https://github.com/pingcap/dm/issues/1845

我在github看到有人遇到同样的问题,不知道是不是这个原因造成的,帮忙看下,怎么修改

image

image


归根是这里抛出的异常,根本原因是没有办法读取到这个event的正常结束标识。

这边排除上游mysql8网络问题,磁盘IO问题.不知道是不是跟我主从同步方式有关系. 我的主从是基于二进制日志文件的方法同步,不是全局事务标识符的方法.所以没有开启GTID

@spc_monkey 帮看看

有人帮忙看下么?

这个错误,尝试重启 task 过没,上游 binlog 多大啊(mysql-bin.000164)(可以看看 binlog index 里的内容:忘记了,不是很确定)

尝试重启过task,但还是卡在syncerBinlog”:”(mysql-bin.000164, 791776914 这个位置. binlog文件1G

基于全局事务标识符的方法做的主从没有出现这个问题

调大 mysql net_write_timeout 参数(300s) 试试可以不

net_write_timeout、net_read_timeout参数都有调整测试过

:ok_hand:,我重新确认一下哈:1、这个报错的binlog,是否可以用 mysqlbinlog,涉及这个报错的 event 具体的 SQL 语句,已经所设计的表结构给我一下吧