Korzystam z podwójnej głównej replikacji MySQL i teraz chcę przejść do pojedynczej bazy danych bez replikacji. Jak całkowicie wyłączyć replikację w obu bazach danych?
64
Korzystam z podwójnej głównej replikacji MySQL i teraz chcę przejść do pojedynczej bazy danych bez replikacji. Jak całkowicie wyłączyć replikację w obu bazach danych?
Aby całkowicie wyłączyć replikację za pomocą konfiguracji master-master, należy wykonać następujące czynności na każdym slave:
STOP SLAVE;
RESET SLAVE;
(Użyj RESET SLAVE ALL;
dla MySQL 5.5.16 i nowszych)
SLAVE STATUS
zapytaniach, nawet po wydaniuRESET SLAVE
polecenia. Ważne informacje na temat narzędzi do monitorowania lub zdalnego zarządzania konfiguracją. Potwierdzone zachowanie w MySQL 5.5.38 na CentOS 6.5.Wiem, że to stare pytanie, ale stwierdziłem, że muszę zresetować zmienne podrzędne. Jeśli użyjesz słowa „bla”, jak sugerowano, serwer spróbuje przy starcie znaleźć serwer „bla”.
Możesz sprawdzić, czy maszyna nie jest już niewolnikiem
źródło
CHANGE MASTER TO MASTER_HOST=''
teraz powoduje błąd.Na serwerach podrzędnych:
Nie ma potrzeby restartowania MySQL na urządzeniu nadrzędnym lub podrzędnym. Pełna dokumentacja znajduje się w rozdziale 19 Podręcznika MySQL .
Zalecam pozostawienie pozostałych ustawień replikacji na wypadek, gdybyś zdecydował się przywrócić poprzednią konfigurację. W ten sposób wystarczy przepchnąć dane i zresetować pozycję slave (nie zapomnij usunąć pominięcia start-slave), zamiast odtwarzać całą konfigurację.
źródło
Niezależnie od wersji MySQL, najbardziej kompletny sposób to zrobić:
Musi to działać w jego najnowszej wersji, ponieważ ustawienia replikacji nadal pozostają w pamięci RAM dla MySQL 5.5.
Właśnie odpowiedziałem na podobne pytanie na ten temat: Jak zmienić poprzednią jednostkę podrzędną MySQL na master i usunąć informacje o statusie jednostki podrzędnej?
źródło
Sama edycja pliku my.cnf nie jest wystarczająca, aby wyłączyć replikację. W rzeczywistości nie jest to już zalecany sposób jego włączenia. Wpisy w pliku my.cnf działają tylko przy następnym uruchomieniu i zachowują się, jakbyś wprowadził polecenie do klienta mysql:
mysql> zmień master na master_host = 'blah', master_user = 'blah', master_password = 'blah' ...;
Obie te metody utworzą plik w katalogu danych o nazwie master.info . Tak długo, jak ten plik istnieje, serwer będzie próbował replikować się przy użyciu zawartych w nim szczegółów. „RESETUJ SLAVE;” polecenie wymienione w pierwszej odpowiedzi spowoduje usunięcie pliku master.info (a także pliku relay-log.info ). Jak wspomniano w pierwszej odpowiedzi, należy również upewnić się, że nie ma tych informacji konfiguracyjnych w pliku my.cnf, w przeciwnym razie przy następnym ponownym uruchomieniu serwera rejestrowanie zostanie ponownie włączone.
źródło
Jedna odpowiedź jest tutaj:
http://www.oops.net.br/~bac/bam/canopy_repl_setup.htm
* Edytuj plik konfiguracyjny MySQL: /etc/my.cnf i usuń następujące 7 wierszy do sekcji zatytułowanej [mysqld]:
Uruchom ponownie MySQL.
źródło
Dodaję to do odpowiedzi Harrisona Fiska:
Jeśli użyłeś,
RESET SLAVE ALL;
to restart nie jest konieczny.Ponadto możesz włączyć zdarzenia, które zostały wyłączone w slave:
Dla każdego z nich:
źródło