Percona XtraDB集群重复键在服务器停止旋转时

我有一个三节点的Percona XtraDB集群(5.5)设置。

每天晚上,我们在一个随机select的节点上closuresMySQL,以备份数据目录。

当我们的stream量合理繁忙时,这将导致沿着SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '140577' for key 'PRIMARY'行发生一对(2-4个)错误警报SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '140577' for key 'PRIMARY' 。 主键冲突很明显,除了我们使用auto_increment列作为这些表的主键。 由于每个节点都有一个由集群引擎分配的偏移量,所以这不应该发生。

我的怀疑是将节点从集群中取出导致其他两个节点更改其自动增量偏移,导致它们在发生更改时可能发生冲突。 我不知道为什么这不是一个primefaces行动,以及如何解决这个问题。

有没有人遇到过这个? 有没有办法临时冻结群集中的自动增量设置,以免在备份过程中或其他一些我没有想到的解决scheme中混乱?

从头顶上我会说增加奴隶的混合和备份完成奴隶没有从集群中删除节点。

发生什么事情是,当你把节点放回去时,它不知道主动节点在主节点上的数字是如何在获得一个新的写入之前先进行的,因为它不会冷却,直到它赶上另外两个副本。 因此,它写入新的logging,并给它一个主键ID已经存在两个副本没有出。 实质上,节点在同步之前不应该接收写入。

我知道这是一个旧的post,你可能已经做到了,但是对于使用PXC(Percona XtraDB集群)来看这种行为的人来说,它似乎击中了错误https://bugs.launchpad.net/percona-xtradb-cluster/+错误/ 1366997

将您的PXC更新到您当前所在的最新版本。例如,如果您使用的是5.5.19,则可以使用最新的5.5版本。 如果您使用5.6.x,请升级到最新的更新。

有生产这个问题。