sql >> Database >  >> RDS >> Mysql

Hoe de Mysql-database opnieuw te synchroniseren als Master en slave een verschillende database hebben in het geval van Mysql-replicatie?

Dit is de volledige stapsgewijze procedure om een ​​master-slave-replicatie helemaal opnieuw te synchroniseren:

Bij de meester:

RESET MASTER;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;

En kopieer de waarden van het resultaat van het laatste commando ergens.

Zonder de verbinding met de client te sluiten (omdat het de leesvergrendeling zou opheffen), geef je de opdracht om een ​​dump van de master te krijgen:

mysqldump -u root -p --all-databases > /a/path/mysqldump.sql

Nu kunt u het slot ontgrendelen, zelfs als de dump nog niet is afgelopen. Voer hiervoor de volgende opdracht uit in de MySQL-client:

UNLOCK TABLES;

Kopieer nu het dumpbestand naar de slave met scp of uw favoriete tool.

Bij de slaaf:

Open een verbinding met mysql en typ:

STOP SLAVE;

Laad master data dump met dit console commando:

mysql -uroot -p < mysqldump.sql

Synchroniseer slave- en masterlogboeken:

RESET SLAVE;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;

Waar de waarden van de bovenstaande velden degene zijn die u eerder heeft gekopieerd.

Typ ten slotte:

START SLAVE;

Om te controleren of alles weer werkt, na het typen:

SHOW SLAVE STATUS;

je zou moeten zien:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Dat is het!



  1. Verzamelmethode:PRIOR &NEXT-functies in Oracle Database

  2. MySql-exportschema zonder gegevens

  3. Het aantal tekens en cijfers in een tekenreeks zoeken

  4. Hoe te controleren of een kolom bestaat in een SQL Server-tabel?