1. 首页
  2. 数据库
  3. MySQL
  4. MySQL如何生成唯一的server-id

MySQL如何生成唯一的server-id

上传者: 2021-08-30 11:28:11上传 PDF文件 120.33 KB 热度 18次

如果没有设置在同一个集群中,server-id一旦重复,可能引发一些诡异问题。上面两种情况可以看到,在同一个replication set中,保持server-id的唯一性非常重要。然后某dba突发奇想把passive-master的server-id修改为400。当双master的复制启动后,那些之前在passive-master上执行的server-id为200的ddl变更,会从此陷入死循环。一天86400秒来计算,往后计算50年,最大的server-id也才使用到86400*365*50,完全在server-id范围内。例如ip为192.168.122.23,端口为3309,那么server-id可以写为122233309。在管理服务器上采用自增的id来统一分配server-id。这可以保证不冲突,但是需要维护中心节点。在每个replication set中为mysql库增加一个管理表,保证每个从库的server-id不冲突。

用户评论