码迷,mamicode.com
首页 > 其他好文 > 详细

replace into 引发的从库auto_increment不自增问题

时间:2020-04-23 16:18:56      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:解决   sel   from   没有   int   event   events   img   incr   

【问题】replace into 引发的从库auto_increment不自增问题

 mysql主从,主上的表有唯一索引,然后用replace into 对唯一索引列的值修改了,auto_increment是会增加的,但是从库并不会同步auto_increment值,有什么方法可以规避这个吗 。
 一旦涉及replace into,主从的表auto_increment就会不一样,这样后期如果主从切换就会有问题 
 

【分析】

 正常insert肯定是会变的,replace into并不是bug,如果值是不一样的那就和正常的insert是一样的,我说的场景是replace into的值是唯一索引列值一样的。
这种情况主库上是先delete后再insert,然后binlog中的表现形式是update的形式,所以主库的auto_increment会增加,但是从库只是update所以auto_increment不增加 
 
 我看网上的办法是

loveflea

建议:
1、将新表b里有的旧表a里没有的记录,保存到c表;并删除b里对应的记录!
2、insert into a select * from b;
3、update a,b set a.price=b.price where 技术图片a.name=技术图片b.name
 

【最终解决】

我测试了一下,把主库的binlog_rows_query_log_events打开就可以了同步auto_increment 
 
 
摘录自群问题:mysql dba技术交流群

replace into 引发的从库auto_increment不自增问题

标签:解决   sel   from   没有   int   event   events   img   incr   

原文地址:https://www.cnblogs.com/gered/p/12761534.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!