DM5.3怎么实现在mysql同步到tidb时,如果mysql发生主从切换,mysql 生产环境都是用的非gtid模式,dm怎么修改配置保持同步正常。
可以在线改成GTID模式
由于一些业务特殊的原因,暂时不能改成gtid模式
那只能根据切换的时间点去查binlog,找到对应的从库一致性位点。
找到位点了,怎么切换貌似官方不支持根据位点的切换。有相关文档吗
这个文档上写的必须是gtid
可以按照这个思路,把任务停了。然后修改dm_meta里面的select * from task_name_syncer_checkpoint
where is_global=1 .然后修改配置文件的meta信息、safe_mode改为true,再启动任务。 实在不行重建个任务从新位点增量也可以。
重建任务的话,不能指定到具体pos位点,只能指定到binlog文件名
这个不是找到了位点么,往前一点,safe-mode为true也可以
找到位点了,但是没有地方写位点。配置文件不支持写具体的位点
然后 dm_meta库里面的select * from task_name_syncer_checkpoint
where is_global=1的binlog 和file_position也要改一下
图是我随便找的
支持的哦。设置成 incremental mode 之后,在每个 mysql-instance 设置 meta (如楼上说的那样)。不过不推荐直接操作下游的 checkpoint,配置了新的 binlog position 之后可以用 --remove-meta 的方式启动任务并清理之前的 checkpoint
FYI: https://docs.pingcap.com/zh/tidb-data-migration/v5.3/usage-scenario-incremental-migration
这个问题没想过,我们目前使用的Mysql也是主从,目前dm连接的是一个从库,以后可能有问题?来自一个开发的疑惑。。。
连接从库肯定有问题,必须连接主库
会有什么问题?目前使用了半年,还没出现问题。
从库机器坏了,怎么找到具体的同步位点呢
这没考虑,确实是个问题,我们目前读操作都是从库上读,不止是tidb,像canal也是。不过想想好像也改不了了
使用gtid貌似就没有问题了
正常来说的话,是没有问题的;而对于 mysql 集群切换主从节点,如果开启了 gtid 应该也没有问题。