MySQL master master replication
Ad Vertentie
31/05/2017 05:26:28Heeft iemand ervaring met het opbouwen van een master-master replicatie tussen 2 MySQL databases?
-Hoe gaat dit met auto encrement velden?
In mijn geval heb ik 1 load balancer (A), 2 webservers (B&C) (Apache) en 2 MySQL databases (D&E) waarbij het de bedoeling is dat B naar D schrijft en C naar E.
Zodra / indien master-master replicatie begint gaan er onmiddellijk problemen ontstaan, daar beide servers dezelfde auto encrement gebruiken.
Hier is kennelijk een oplossing voor waarbij je 1 server een andere ID reeks kunt meegeven waardoor 1 server b.v. de volgende ID's heeft : 1,3,5,7,9 etc.. en de andere 2,4,6,8 etc.
--
On master-1, add this to the my.cnf
auto_increment_increment = 10
auto_increment_offset = 1
on master-2, and this to the my.cnf
auto_increment_increment = 10
auto_increment_offset = 2
--
De vraag, zodra 1 van de 2 servers een DELETE uitvoert, hoe zorgt de master-master replicatie er dan voor dat op de andere server hetzelfde wordt verwijderd, de ID's zijn immers niet gelijk ?
-Hoe gaat dit met auto encrement velden?
In mijn geval heb ik 1 load balancer (A), 2 webservers (B&C) (Apache) en 2 MySQL databases (D&E) waarbij het de bedoeling is dat B naar D schrijft en C naar E.
Zodra / indien master-master replicatie begint gaan er onmiddellijk problemen ontstaan, daar beide servers dezelfde auto encrement gebruiken.
Hier is kennelijk een oplossing voor waarbij je 1 server een andere ID reeks kunt meegeven waardoor 1 server b.v. de volgende ID's heeft : 1,3,5,7,9 etc.. en de andere 2,4,6,8 etc.
--
On master-1, add this to the my.cnf
auto_increment_increment = 10
auto_increment_offset = 1
on master-2, and this to the my.cnf
auto_increment_increment = 10
auto_increment_offset = 2
--
De vraag, zodra 1 van de 2 servers een DELETE uitvoert, hoe zorgt de master-master replicatie er dan voor dat op de andere server hetzelfde wordt verwijderd, de ID's zijn immers niet gelijk ?
PHP hulp
22/12/2024 19:37:08Ben van Velzen
31/05/2017 10:39:57>> De vraag, zodra 1 van de 2 servers een DELETE uitvoert, hoe zorgt de master-master replicatie er dan voor dat op de andere server hetzelfde wordt verwijderd, de ID's zijn immers niet gelijk ?
De te inserten ID's zijn verschillend, maar ze hebben beide toegang tot dezelfde recordset. Dat is het hele idee van replicatie. Een DELETE of UPDATE zal dus heel normaal werken. Net als dat een SELECT uit beide databases dezelfde set oplevert.
De te inserten ID's zijn verschillend, maar ze hebben beide toegang tot dezelfde recordset. Dat is het hele idee van replicatie. Een DELETE of UPDATE zal dus heel normaal werken. Net als dat een SELECT uit beide databases dezelfde set oplevert.