Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pourquoi mysql INSERT ... ON DUPLICATE KEY UPDATE peut casser la réplication RBR sur une configuration master / master

Vous essayez d'écrire le même idUser, date associez-les à vos deux répliques en même temps.

  1. Un client écrit sur master1 à l'aide d'une clé primaire impaire
  2. Un autre client écrit sur master2 à l'aide d'une clé primaire paire, avant la synchronisation de la première écriture
  3. Les serveurs tentent de se synchroniser

Dans la dernière étape, la même paire existe sur les deux serveurs sous différentes clés primaires ; différentes lignes mais la clé unique secondaire est la même.