MySQL replicatie resetten

Als de replicatie, om wat voor reden dan ook, niet meer werkt, dan kan deze op onderstaande wijze hersteld worden.

Op de master

sudo mysql -u root -p
mysql> RESET MASTER;
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;

Belangrijk is nu om de File en Position te onthouden, te zien in het overzicht.

Open nu een nieuw terminalvenster, om zeker te weten dat de inhoud van de database ondertussen niet kan wijzigen en maak een dump van alle databases:

mysqldump -u root -p --all databases > /pad/mysqldump.sql

Nu kun je de lock vrijgeven:

mysql> UNLOCK TABLES;

Op de slave

sudo mysql -u root -p
mysql> STOP SLAVE;
mysql> EXIT

Nu kun je op de slave de dump importeren:

sudo mysql -u root -p < /pad/mysqldump.sql

Nu kunnen we de slave opnieuw starten:

sudo mysql -u root -p
mysql> RESET SLAVE;
mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=2404;

Let op dat je op de oranje plaatsen de eerder verkregen waarden van File en Position vanaf de master invult.

mysql> START SLAVE;

Done! ✅