【 TiDB 使用环境】测试
【 TiDB 版本】7.5
【复现路径】 模拟变更 DM-worker 连接的上游 MySQL 实例地址
【遇到的问题:问题现象及影响】
使用DM同步,更改了上游mysql地址后,重新启动任务后报错信息: “Message”: “get binlog event error: ERROR 1236 (HY000): Could not find first log file name in binary log index file”
步骤是按照这个文档操作的
https://docs.pingcap.com/zh/tidb/stable/usage-scenario-master-slave-switch
改了,就是改到新的地址后,就报这个错了。
另外dm这个binlog信息咋清理呢,我都把dm集群销毁在重新部署,在启动任务后还是报这个错误
你的新mysql和原mysql实例啥关系使用的,下面的1还是2方案
1、 虚拟 IP 环境下切换 DM-worker 与 MySQL 实例的连接
2、 变更 DM-worker 连接的上游 MySQL 实例地址
位点信息保存在tidb实例下
dm_meta.${dm-task-name}_lightning_checkpoint_list
dm_meta.${dm-task-name}_onlineddl
dm_meta.${dm-task-name}_syncer_checkpoint
要想全部清理重来的话
https://docs.pingcap.com/zh/tidb/stable/dm-faq
当数据迁移过程中发生异常且无法恢复时,需要重置数据迁移任务,对数据重新进行迁移:
使用 stop-task
停止异常的数据迁移任务。
清理下游已迁移的数据。
从下面两种方式中选择其中一种重启数据迁移任务:
修改任务配置文件以指定新的任务名,然后使用 start-task {task-config-file}
重启迁移任务。
使用 start-task --remove-meta {task-config-file}
重启数据迁移任务。
你是不是只改了resource的IP,同步位点信息没有修改?不修改同步位点信息只修改IP,DM会拿着源mysql实例的位点去找binlog找不到 肯定报错,同步任务元数据信息是存在tidb实例dm_meta.${dm-task-name}_*的三个表,表名字是任务名开头去标识的,如果你重新配置任务,1、没有清理任务和元数据信息 2、没有新建任务名;可能导致新任务拿到老任务的元数据信息导致报错
system
(system)
关闭
2024 年5 月 10 日 02:51
14
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。