一、背景
因为dm同步出现问题没有及时发现,而上游又binlog保存时间较短,所以同步的binlog找不到,这时候就需要将备份的二进制文件放到relay-log中,而relay-log就没有开启,就需要重新开启relay-log
二、开启relay-log操作
1.停止该源上同步任务
tiup dmctl --master-addr master_ip:8261 stop-task task-name
2.删除源
tiup dmctl --master-addr master_ip:8261 operate-source stop source-id
3.修改源配置文件
vim a.yaml
enable-gtid : false
relay-dir: "./relay_log" # 加上这一行,指定relay_log目录的地址
4.创建源
tiup dmctl --master-addr master_ip:8261 operate-source create ./a.yaml # 源配置文件
5.启动任务
tiup dmctl --master-addr master_ip:8261 start-task ./task_name.yaml # 任务配置文件
6.查看任务状态
tiup dmctl --master-addr master_ip:8261 query-status task-name
# 记住
"sourceStatus": {
"source": "source-id",
"worker": "worker",
"result": null,
"relayStatus": null
},
7.启动relay-log
tiup dmctl --master-addr master_ip:8261 start-relay -s source-id worker
三、后续关注点
1.源为什么不用update
因为dmctl的operate-source目前暂不支持update
2.出现找不到binary log的报错
跳转到这里解决:https://blog.youkuaiyun.com/line_on_database/article/details/119762823