暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【磐维数据库】mysql-bin.index 文件异常导致无法增量迁移

原创 Darcy 2024-07-22
1109

环境信息

  • 源库: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'; 

mysqlbin.index文件异常导致无法增量迁移  1.png

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

mysqlbin.index文件异常导致无法增量迁移  2.png

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

文章被以下合辑收录

评论