集群中的Mysql自动增量配置

时间:2014-12-15 05:39:30

标签: mysql database

我在三个不同的数据中心部署了多个mysql服务器。现在我的数据库有几个具有自动增量id列的表。我希望所有三个数据中心的这些列必须具有跨数据中心的唯一ID。是否有可能在Mysql中或我需要以编程方式生成这些列?

例如,在数据中心D1中,表T1具有id 1,则数据中心D2和D3不得为表T1生成id 1。

2 个答案:

答案 0 :(得分:1)

我们以前做过的事情以及hardik发布的link中您的情况的关键点是在每台服务器上为auto_increment_offset设置不同的值,并将auto_increment_increment设置为大于或等于服务器总数的值。

[Master]
server-id   = 1
auto_increment_increment = 10
auto_increment_offset = 1

[Slave1]
server-id   = 2
auto_increment_increment = 10
auto_increment_offset = 2

[Slave2]
server-id   = 3
auto_increment_increment = 10
auto_increment_offset = 3

此方法有效,但为了将来证明,您需要将auto_increment_increment设置为合理的值,以便将来可以添加额外的服务器。

答案 1 :(得分:0)

您可以使用复制读取this,您可以设置Master D1和SLAVE other。