环境信息
- 源库:MySQL 5.7
- 目标库:磐维 2.0.2
- dtp:2.0.2
问题描述
- 使用 dtp 进行增量迁移,数据没同步过去;
- incremental.log 报错:
[INFO ][2024-06-17 11:34:54][cn.com.panwei.incremental.d.b.d.gr(MysqlBinlogReader.java:1555)]collector send finish record to queue for reconnect!
[WARN ][2024-06-17 11:34:54][cn.com.panwei.incremental.d.b.d.gr(MysqlBinlogReader.java:1561)]mysql采集端开始重连, task:my_pg_ce02#incremental#collect#incremental#1, binlogfile:mysql-bin.000001, position:29049
[WARN ][2024-06-17 11:34:54][cn.com.panwei.incremental.d.b.d.gn(MysqlBinlogReader.java:441)]startRunListen 发生异常:sleep interrupted
[INFO ][2024-06-17 11:34:54][cn.com.panwei.incremental.d.b.d.close(MysqlBinlogReader.java:190)]采集任务#taskID:【my_pg_ce02#incremental#collect#incremental#1】, 【[采集端]子线程1[MySqlBinlog数据采集器]】关闭成功
[INFO ][2024-06-17 11:34:54][cn.com.panwei.incremental.d.b.d.start(MysqlBinlogReader.java:139)]采集任务#taskID:【my_pg_ce02#incremental#collect#incremental#1】, 数据采集器线程【blc-10.27.47.9:3306】启动成功, 开始从MySqlBinlog采集数据
[INFO ][2024-06-17 11:34:54][cn.com.panwei.incremental.d.b.d.gr(MysqlBinlogReader.java:1570)]mysql采集端重连成功,task:my_pg_ce02#incremental#collect#incremental#1
[WARN ][2024-06-17 11:34:54][cn.com.panwei.incremental.d.b.f.onDisconnect(MysqlBinlogReader.java:1631)]task:my_pg_ce02#incremental#collect#incremental#1 Stopped reading binlog, curBinlogFile:mysql-bin.000001, curBinlogPosition:29049, currBeginPosition:29049, lastAddRecordPosition:null
[INFO ][2024-06-17 11:34:54][cn.com.panwei.incremental.p.c.nb(RecordSender.java:307)]采集任务#jobId:【my_pg_ce02#incremental】, 无commit,仅更新collectOffset【163】
[INFO ][2024-06-17 11:34:59][cn.com.panwei.incremental.d.b.d.gm(MysqlBinlogReader.java:412)]起始点: mysql-bin.000001:29049
[INFO ][2024-06-17 11:34:59][cn.com.panwei.incremental.d.b.d.gm(MysqlBinlogReader.java:417)]GTID: 740e9574-125d-11ee-bec3-6c92bf3bb513:1-1099838,edda3576-f616-11ed-a9b2-005056bc3dd9:1-2812960
[INFO ][2024-06-17 11:34:59][cn.com.panwei.incremental.d.b.d.gm(MysqlBinlogReader.java:422)]采集任务#taskID:【my_pg_ce02#incremental#collect#incremental#1】, 正在尝试建立binlog读取器连接【30000】后超时失败
[INFO ][2024-06-17 11:34:59][cn.com.panwei.incremental.d.b.f.onConnect(MysqlBinlogReader.java:1598)]task:my_pg_ce02#incremental#collect#incremental#1 Connected to MySQL binlog at 10.27.47.9:3306, starting at mysql-bin.000001:29049
[ERROR][2024-06-17 11:34:59][cn.com.panwei.incremental.d.b.f.onCommunicationFailure(MysqlBinlogReader.java:1603)]task:my_pg_ce02#incremental#collect#incremental#1 A communication failure event arrived
com.github.shyiko.mysql.binlog.network.ServerException: Could not find first log file name in binary log index file
at com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:937)
at com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:606)
at com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:850)
at java.lang.Thread.run(Thread.java:748)
- 关键信息为倒数第五行的:
Could not find first log file name in binary log index file
以及:
起始点: mysql-bin.000001:29049
解决过程
- 首先确认,mysql-bin.000001 文件存在;
- 执行下面指令,确认位置29049也是存在的:
mysqlbinlog --start-position=29049 -d panwei_dev mysql-bin.000001
- 查看 mysql-bin.index 发现,mysql-bin.index 文件的第一行为空;
- 执行下面语句,结果为空:
SHOW BINARY LOGS;
- 执行下面语句报错:
show binlog events in 'mysql-bin.000001';

- 去掉空行,重启 mysql 后再次检查:

- 随后正常完成增量迁移。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




