sql >> Databáze >  >> RDS >> Mysql

Jak znovu synchronizovat Mysql DB, pokud mají Master a slave jinou databázi zapouzdřit replikaci Mysql?

Toto je úplný podrobný postup opětovné synchronizace replikace master-slave od začátku:

U mistra:

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

A zkopírujte hodnoty výsledku někde posledního příkazu.

Bez uzavření připojení ke klientovi (protože by to uvolnilo zámek čtení) zadejte příkaz pro získání výpisu hlavního serveru:

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

Nyní můžete zámek uvolnit, i když výpis ještě neskončil. Chcete-li to provést, proveďte v klientovi MySQL následující příkaz:

UNLOCK TABLES;

Nyní zkopírujte soubor výpisu do slave pomocí scp nebo vámi preferovaného nástroje.

U otroka:

Otevřete připojení k mysql a zadejte:

STOP SLAVE;

Načtěte hlavní výpis dat pomocí tohoto příkazu konzoly:

mysql -uroot -p < mysqldump.sql

Synchronizovat podřízené a hlavní protokoly:

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

Kde hodnoty výše uvedených polí jsou ty, které jste zkopírovali dříve.

Nakonec zadejte:

START SLAVE;

Chcete-li zkontrolovat, zda vše funguje znovu, po zadání:

SHOW SLAVE STATUS;

měli byste vidět:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

A je to!



  1. 10 tipů a triků pro správu efektivní databáze

  2. Vylepšení Service Broker v SQL Server 2016

  3. Nasazení databáze z ovládání zdroje

  4. Ukládání obrázků v PostgreSQL