双主的存在不是要实现系统的双写,类似于RAC,而是在没有MHA的情况下,实现切换不用change master的操作,因为双写是有问题的。我们不双写,只是单写。
mysql> show variables like 'au%increment%'; +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | auto_increment_increment | 3 | | auto_increment_offset | 2 | +--------------------------+-------+ 2 rows in set (0.00 sec) mysql> show variables like 'au%increment%'; +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | auto_increment_increment | 3 | | auto_increment_offset | 1 | +--------------------------+-------+ 2 rows in set (0.00 sec)
有的人说双写,在不同的master上设置 主键自增步长为如上,那么就可以达到双主同时写,防止主键冲突,但是这样也不行,比如二级索引的唯一性,你不能保证不冲突。所以双主的应用不是为了实现双写而存在,而是为了change master,但是5.6之后GTID出现,change master又没什么问题,双主会逐渐失去他的意义的。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29990276/viewspace-2063828/ ,如需转载,请注明出处,否则将追究法律责任。