To jest pełna, krok po kroku procedura ponownej synchronizacji replikacji master-slave od zera:
U mistrza:
RESET MASTER;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
I skopiuj wartości wyniku ostatniego polecenia gdzieś.
Bez zamykania połączenia z klientem (ponieważ zwolniłoby to blokadę odczytu) wydaj polecenie, aby uzyskać zrzut mastera:
mysqldump -u root -p --all-databases > /a/path/mysqldump.sql
Teraz możesz zwolnić blokadę, nawet jeśli zrzut jeszcze się nie zakończył. Aby to zrobić, wykonaj następujące polecenie w kliencie MySQL:
UNLOCK TABLES;
Teraz skopiuj plik zrzutu do urządzenia podrzędnego za pomocą scp lub preferowanego narzędzia.
U niewolnika:
Otwórz połączenie z mysql i wpisz:
STOP SLAVE;
Załaduj zrzut danych mastera za pomocą tego polecenia konsoli:
mysql -uroot -p < mysqldump.sql
Synchronizuj logi slave i master:
RESET SLAVE;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;
Gdzie wartości powyższych pól są tymi, które skopiowałeś wcześniej.
Na koniec wpisz:
START SLAVE;
Aby sprawdzić, czy wszystko działa ponownie, po wpisaniu:
SHOW SLAVE STATUS;
powinieneś zobaczyć:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Otóż to!