Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum mysql INSERT ... ON DUPLICATE KEY UPDATE die RBR-Replikation auf einer Master/Master-Konfiguration unterbrechen kann

Sie versuchen, dasselbe idUser, date zu schreiben mit beiden Repliken gleichzeitig koppeln.

  1. Ein Client schreibt mit einem ungeraden Primärschlüssel an master1
  2. Ein anderer Client schreibt mit einem geraden Primärschlüssel in master2, bevor der erste Schreibvorgang synchronisiert wurde
  3. Die Server versuchen, sich miteinander zu synchronisieren

Im letzten Schritt existiert auf beiden Servern dasselbe Paar unter unterschiedlichen Primärschlüsseln; unterschiedliche Zeilen, aber der sekundäre eindeutige Schlüssel ist derselbe.