使用 Dumpling 在mysql从库导出数据,使用Lighting导入新从库,change master xxx 点位后,出现主键冲突,有懂哥可以帮忙解释下原因嘛
change master使用的位点是不是从库的去接的主库
用的是主库的点位,metedate中 show slave status的位点信息。有那么几个主键冲突,手动删除后,主从正常了
好吧,备份从库会给一个主库的位点和一个从库的,我以为可能用错了,有点奇怪。生产环境可以用pt比对下看还有没有其他不一致的数据。
好嘞,我对比下数据看看
有没有可能是因为从库上面同步延迟导致的
dumpling命令贴一下呢
dumpling -u xxx -p xxx -P xxx -h xxx --filetype sql -t 4 -o xxx -F 512MiB -B xxx
change master使用的位点去接的主库change master使用的位点
检查下报错的那张表的上下游字符集和检验规则
和这个没关系,主键冲突和字符集有嘛关系
你要不要看看你在说什么
是有可能的,主键是字符串的情况下,不同字符集和校验规则对尾巴空格处理不一样,参考:https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html#charset-unicode-sets-pad-attributes
有点乱套。主键一般用的不都是无意义那种相当于GUID这样的吗?很少用和业务相关的字段做主键吧。
1 个赞
问题解决了,有几个表,原表主键有id=0的
解决了就好
意思是在源表和目标表的主键不一样,源表数据存在 目标表主键重复的情况?
原表存在自增主键为0的值,在dump时会分配一个主键值给这条记录,真正这个主键值对应的数据再进行插入时就会产生主键冲突
确实,这样是会产生主键重复的问题
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。