+ -
当前位置:首页 → 问答吧 → 转: mysql 的 主主服务器问题解决

转: mysql 的 主主服务器问题解决

时间:2008-03-04

来源:互联网

记得上次我介绍MySQL主从服务器的时候,说最好只有一个Master主服务器,如果多于一个的话,在处理auto_increment字段的时候会出现不一致的问题。结果今天我发现我的说法是错误的,解决这个问题其实很简单,只要设置一下my.cnf就可以采用Master-Master结构的主主服务器了:

A服务器的my.cnf设置如下:

auto_increment_offset           = 1
auto_increment_increment        = 2

这样A的auto_increment字段产生的数值是:1, 3, 5, 7, ...

B服务器的my.cnf设置如下:

auto_increment_offset           = 2
auto_increment_increment        = 2

这样B的auto_increment字段产生的数值是:2, 4, 6, 8, ...

可以看出,你的auto_increment字段在不同的服务器之间绝对不会重复,所以Master-Master结构就没有任何问题了。当然,你还可以使用3台,4台,或者N台服务器,只要保证

auto_increment_increment        = N

再设置一下auto_increment_offset为适当的初始值就可以了。

那样,我们的MySQL可以同时有几十台主服务器,效率肯定罡罡的。

作者: 逆雪寒   发布时间: 2008-03-04

牛!

作者: twotimes   发布时间: 2008-03-04

好久没见LZ了

ps:原创区发个转帖.....

作者: linvo   发布时间: 2008-03-04

哈,昨天开会刚谈论到这个问题,今天就看到了。学习学习

作者: 1128sky7   发布时间: 2008-03-05

不知道 A(B)的binlog 的insert语句到B(A)的id怎么处理的
不知道LZ了解否?最近遇到负载问题了,谈论过这个方法。
如果LZ 感觉俺没说清楚,请回复,俺详细说下

作者: 1128sky7   发布时间: 2008-03-05

哈,经测试不适合俺的问题 :)
闹心,继续找出路

作者: 1128sky7   发布时间: 2008-03-05