网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

主主复制时的主键冲突解决

主主复制下一定要注意避免的问题---------同步冲突

创新互联公司是一家专业从事成都做网站、网站制作的网络公司。作为专业网站设计公司,创新互联公司依托的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、全网营销推广及网站设计开发服务!

例:

create table stu (

id int primary key auto_increment.

)......

2台MySQL地位相等, 假如2个请求同时到达2台服务器,

请求的A节点,  stu 的id为1

请求的B 节点,  stu的id为1 ,

同步--->冲突

 

如何解决?

让1台服务器  1,3,5,7来增长

另1台服务器  2,4,6,8来增长

一台服务器:

set global auto_increment_increment = 2;

set global auto_increment_offset = 1;

set session auto_increment_increment = 2;

set session auto_increment_offset = 1;

 

另一台服务器:

set global auto_increment_increment = 2;

set global auto_increment_offset = 2;

set session auto_increment_increment=2;

set session auto_increment_offset = 2;

注:auto-increment-increment 和 auto-increment-offset 要写到配置文件 中,防止下次重启后失效.


操作后得到如下类似效果

主主复制时的主键冲突解决

 

如果后期需要加服务器,这个办法就有限制了.

我们可以在业务逻辑上来解决,

比如在oracle 有sequnce序列.

序列每次访问,生成递增/递减的数据.

 

以redis为例, 我们可以专门构建一个 global:userid

每次PHP插入Mysql前,先 incr->global:userid, 得到一个不重复的userid.


分享文章:主主复制时的主键冲突解决
分享网址:http://bjjierui.cn/article/gpohse.html

其他资讯