To polecenie mysqlrpladmin, które można uruchomić w darmowym dostawcy hostingu OnWorks, korzystając z jednej z wielu naszych darmowych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
mysqlrpladmin - Narzędzie administracyjne do replikacji MySQL
STRESZCZENIE
mysqlrpladmin [Opcje]
OPIS
To narzędzie umożliwia użytkownikom wykonywanie działań administracyjnych w topologii replikacji
składający się z mastera i jego slave'ów. Narzędzie jest zaprojektowane tak, aby ułatwić odzyskiwanie
z powodu planowanej konserwacji urządzenia głównego lub zdarzenia powodującego wyłączenie urządzenia głównego
niespodziewanie.
Działanie polegające na celowym wyłączeniu urządzenia głównego i przełączeniu kontroli na inne urządzenie podrzędne
nazywa się switchover. W tym przypadku nie ma utraty transakcji, ponieważ master jest
zablokowane i wszyscy niewolnicy mogą dogonić mistrza. Gdy niewolnicy przeczytają wszystko
zdarzenia z urządzenia nadrzędnego, urządzenie nadrzędne zostaje wyłączone, a sterowanie zostaje przełączone na urządzenie podrzędne (w tym przypadku
przypadek zwany kandydatem na niewolnika).
Odzyskiwanie sił po stracie powalonego mistrza jest bardziej traumatyczne i nie ma sposobu, aby to zrobić.
wiedzieć, jakie transakcje master mógł nie wysłać, nowy master (tzw.
kandydat na niewolnika) musi być niewolnikiem, który jest najbardziej aktualny. Sposób, w jaki to zostanie określone, zależy
w wersji serwera (patrz poniżej). Może to jednak spowodować utratę niektórych
transakcje, które zostały wykonane na uszkodzonym masterze, ale nie zostały wysłane. Narzędzie akceptuje
lista niewolników, których należy uznać za kandydatów na niewolników. Jeśli nie zostanie znaleziony żaden niewolnik spełniający wymagania
wymagania, operacja przeszuka listę znanych serwerów podrzędnych.
Narzędzie to udostępnia również szereg przydatnych poleceń do zarządzania topologią replikacji
w tym następujące.
wybierać To polecenie jest dostępne tylko dla serwerów obsługujących transakcje globalne
identyfikatory (GTID), wykonują najlepszy wybór podrzędnego i raportują najlepszy podrzędny do użycia w przypadku zdarzenia
wymagane jest przełączenie lub przełączenie awaryjne. Najlepszy wybór podrzędnego to po prostu pierwszy podrzędny
spełniają wymagania wstępne. GTID-y są obsługiwane w wersji 5.6.5 i nowszych. To polecenie
wymaga opcji --gospodarz i albo --niewolnicy or --discover-slaves-login.
praca awaryjna Ta komenda jest dostępna tylko dla tych serwerów, które obsługują GTID.
przełączenie awaryjne na najlepszy podrzędny. Polecenie przetestuje każdego kandydata podrzędnego wymienionego dla
warunki wstępne. Po wybraniu kandydata na niewolnika, staje się on niewolnikiem każdego z pozostałych
niewolników, zbierając w ten sposób wszelkie transakcje wykonane na innych niewolnikach, ale nie na kandydacie.
W ten sposób kandydat staje się najbardziej aktualnym niewolnikiem. To polecenie wymaga
--niewolnicy opcja. --discover-slaves-login opcja nie jest dozwolona, ponieważ w przypadku awarii
zakłada się, że urządzenie główne jest offline lub niedostępne (więc nie ma możliwości
(odkryj niewolników). --gospodarz opcja ta jest ignorowana w przypadku tego polecenia.
gtid To polecenie jest dostępne tylko dla serwerów obsługujących GTID. Wyświetla
zawartość zmiennych GTID, @@GLOBAL.GTID_EXECUTED, @@GLOBAL.GTID_PURGED i
@@GLOBAL.GTID_OWNED. Polecenie wyświetla również uniwersalne, unikatowe identyfikatory (UUID) dla
wszystkie serwery. Ta komenda wymaga jednej z następujących kombinacji: --gospodarz oraz
--niewolnicylub --gospodarz oraz --discover-slaves-login.
zdrowie Wyświetl stan replikacji topologii. Domyślnie obejmuje to hosta
nazwa, port, rola (MASTER lub SLAVE) serwera, stan serwera (UP = jest połączony,
WARN = brak połączenia, ale można wykonać polecenie ping, DOWN = brak połączenia i nie można wykonać polecenia ping), GTID_MODE,
i stan zdrowia. To polecenie wymaga jednej z następujących kombinacji:
· --gospodarz oraz --niewolnicy;
· --gospodarz oraz --discover-slaves-login;
Główny stan kondycji opiera się na następujących kwestiach; jeśli GTID_MODE=ON, serwer musi mieć
włączony dziennik binarny i musi istnieć użytkownik z uprawnieniem REPLICATE SLAVE.
Stan zdrowia niewolnika opiera się na następujących kwestiach; IO_THREAD i SQL_THREADS muszą być
działa, musi być podłączony do mastera, nie ma błędów, opóźnienie slave dla
scenariusze bez gtid nie przekraczają progu podanego przez --maksymalna pozycja
a urządzenie podrzędne odczytuje poprawny plik dziennika głównego, a opóźnienie podrzędne nie jest większe niż
--sekundy-za opcja progu.
zresetuj Wykonaj polecenia STOP SLAVE i RESET SLAVE na wszystkich urządzeniach podrzędnych. To polecenie wymaga
dotychczasowy --niewolnicy opcja. --discover-slaves-login opcja nie jest dozwolona, ponieważ może
nie zapewnia oczekiwanego rezultatu, wyłączając urządzenia podrzędne z zatrzymanym wątkiem IO. Opcjonalnie,
dotychczasowy --gospodarz można również użyć tej opcji i w takim przypadku narzędzie wykona
dodatkowe sprawdzenie w celu weryfikacji, czy określone urządzenia podrzędne są skojarzone (tj. replikacja)
skonfigurowany) do danego urządzenia głównego.
początek Wykonaj polecenie START SLAVE na wszystkich urządzeniach podrzędnych. To polecenie wymaga --niewolnicy
opcja. --discover-slaves-login opcja nie jest dozwolona, ponieważ może nie zapewniać
oczekiwany wynik, z wyłączeniem slave'ów z zatrzymanym wątkiem IO. Opcjonalnie, --gospodarz
można również użyć tej opcji, a w takim przypadku narzędzie wykona dodatkową kontrolę
sprawdź, czy określone urządzenia podrzędne są skojarzone (czyli czy replikacja jest skonfigurowana) z danym
mistrz.
Zatrzymaj się Wykonaj polecenie STOP SLAVE na wszystkich urządzeniach podrzędnych. To polecenie wymaga --niewolnicy
opcja. --discover-slaves-login opcja nie jest dozwolona, ponieważ może nie zapewniać
oczekiwany wynik, z wyłączeniem slave'ów z zatrzymanym wątkiem IO. Opcjonalnie, --gospodarz
można również użyć tej opcji, a w takim przypadku narzędzie wykona dodatkową kontrolę
sprawdź, czy określone urządzenia podrzędne są skojarzone (czyli czy replikacja jest skonfigurowana) z danym
mistrz.
przełączenie Wykonaj awans podrzędny na określonego kandydata podrzędnego zgodnie z wyznaczeniem
--nowy-mistrz opcja. Ta komenda jest dostępna zarówno dla serwerów z włączonym gtid, jak i
scenariusze bez włączonego gtid. To polecenie wymaga jednej z następujących kombinacji:
· --gospodarz, --nowy-mistrz oraz --niewolnicy;
· --gospodarz, --nowy-mistrz oraz --discover-slaves-login;
Wykrywanie uszkodzonego mastera odbywa się w następujący sposób. Jeżeli połączenie z masterem jest
zgubiony, czekaj --świst sekund i sprawdź ponownie. Jeśli połączenie główne zostanie utracone i połączenie główne
nie można wykonać polecenia ping ani nawiązać ponownego połączenia, następuje przełączenie awaryjne.
W przypadku wszystkich poleceń wymagających określenia wielu serwerów opcje wymagają
lista parametrów połączenia oddzielona przecinkami w postaci (gdzie hasło,
port i gniazdo są opcjonalne).:
<*użytkownik*>[:<*hasło*>]@<*host*>[:<*port*>][:<*socket*>] lub
<*ścieżka-logowania*>[:<*port*>][:<*gniazdo*>]
Narzędzie umożliwia użytkownikom wykrywanie urządzeń podrzędnych podłączonych do urządzenia nadrzędnego. Aby korzystać z
odkryj funkcję niewolników, wszystkie urządzenia podrzędne muszą używać --report-host i --report-port uruchamiania
zmienne określające poprawną nazwę hosta i port IP urządzenia podrzędnego. Jeśli ich brakuje
lub zgłosić nieprawidłowe informacje, stan zdrowia niewolników może nie zostać zgłoszony prawidłowo lub
niewolnik może w ogóle nie być wymieniony. Funkcja odkrywania niewolników ignoruje wszystkich swoich niewolników
nie można nawiązać połączenia z wątkiem IO lub wątek ten jest zatrzymany (tj. nie jest połączony z urządzeniem nadrzędnym).
Narzędzie pozwala użytkownikowi na obniżenie rangi urządzenia głównego do urządzenia podrzędnego podczas przełączania
operacja. ten --degraduj-mistrza opcja informuje narzędzie, aby po utworzeniu nowego urządzenia głównego
ustanowić, uczynić starego pana niewolnikiem nowego pana. To pozwala na rotację
rola nadrzędna w zestawie serwerów.
Narzędzie pozwala użytkownikowi określić zewnętrzny skrypt do wykonania przed i po
komendy przełączania i przełączania awaryjnego. Użytkownik może je określić za pomocą --exec-przed oraz
--exec-po opcje. Kod powrotu skryptu służy do określenia sukcesu, dlatego każdy
skrypt musi zgłosić 0 (sukces), aby został uznany za udany. Jeśli skrypt zwraca wartość
inny niż 0, kod wyniku jest prezentowany w komunikacie o błędzie.
Narzędzie umożliwia użytkownikowi rejestrowanie wszystkich działań podejmowanych podczas wykonywania poleceń. ten --Dziennik
opcja wymaga poprawnej ścieżki i nazwy pliku, który ma być używany do operacji rejestrowania. ten
log jest aktywny tylko wtedy, gdy ta opcja jest określona. Opcja --log-wiek określa wiek
w dniach, w których wpisy dziennika są przechowywane. Wartość domyślna to siedem (7) dni. Starsze wpisy są
automatycznie usuwane z pliku dziennika (ale tylko wtedy, gdy --Dziennik jest określona opcja).
Format pliku dziennika zawiera datę i godzinę zdarzenia, poziom zdarzenia
(informacyjne - INFO, ostrzeżenie - WARN, error - ERROR, krytyczna awaria - CRITICAL) oraz
komunikat zgłoszony przez narzędzie.
Narzędzie ma szereg opcji, z których każda jest bardziej szczegółowo wyjaśniona poniżej. Niektóre z nich
opcje są specyficzne dla pewnych poleceń. Komunikaty ostrzegawcze są wydawane, gdy opcja
jest używany, który nie ma zastosowania do żądanego polecenia. Krótki przegląd każdego polecenia i
jego opcje przedstawiono w poniższych akapitach.
Polecenia startu, zatrzymania i resetowania wymagają --niewolnicy opcja wyświetlenia listy wszystkich niewolników
w topologii. Opcjonalnie, --gospodarz można określić opcję, aby narzędzie sprawdzało
jeśli określone urządzenia podrzędne są skojarzone z danym urządzeniem nadrzędnym przed wykonaniem polecenia,
upewniając się, że polecenie jest stosowane tylko do urządzeń podrzędnych podłączonych do właściwej replikacji
mistrz.
Opcje wymagane dla poleceń select, health i gtid obejmują: --gospodarz opcja
aby określić istniejący wzorzec i albo --niewolnicy opcja wyświetlenia listy wszystkich niewolników
w topologii lub --discover-slaves-login możliwość podania nazwy użytkownika i
hasło, aby odkryć wszystkie urządzenia podrzędne w topologii, które są zarejestrowane i podłączone do
mistrz.
Opcje wymagane do przełączenia obejmują: --gospodarz opcja określenia istniejącego
Mistrzu, --nowy-mistrz opcja umożliwiająca określenie kandydata na niewolnika (niewolnika, który ma zostać
nowy master), i albo --niewolnicy opcja umożliwiająca wypisanie rozważanych urządzeń podrzędnych w topologii
albo --discover-slaves-login opcja podania nazwy użytkownika i hasła w celu odkrycia
wszystkie urządzenia podrzędne w topologii, które są zarejestrowane i połączone z urządzeniem nadrzędnym.
Polecenie failover wymaga jedynie --niewolnicy opcja wyraźnego wylistowania wszystkich
podwładnych w topologii, ponieważ oczekuje się, że master będzie wyłączony, gdy to polecenie zostanie wykonane
używany.
Użyj --gadatliwy możliwość zobaczenia dodatkowych informacji w raporcie o stanie zdrowia oraz dodatkowych
wiadomości podczas przełączania lub przełączania awaryjnego.
OPCJE
mysqlrpladmin akceptuje następujące opcje wiersza polecenia:
· --Wsparcie
Wyświetl komunikat pomocy i wyjdź.
· --kandydaci=
Informacje o połączeniu dla serwerów podrzędnych kandydujących do przełączania awaryjnego w postaci:
<użytkownik>[:passwd>]@gospodarz>[:Port>][:gniazdo>] lubścieżka-logowania>[:Port>][:gniazdo>].
Obowiązuje tylko z poleceniem failover. Lista wielu niewolników na liście rozdzielanej przecinkami.
· --degraduj-mistrza
Po przełączeniu zmień urządzenie nadrzędne na podrzędne.
· --discover-slaves-login=
Podczas uruchamiania zapytaj mastera o wszystkie zarejestrowane urządzenia slave i użyj nazwy użytkownika i hasła
określony do połączenia. Podaj użytkownika i hasło w formularzuużytkownik>[:passwd>] lub
<ścieżka-logowania>. Na przykład --discover=joe:secret użyje „joe” jako użytkownika i
„sekret” jako hasło dla każdego wykrytego niewolnika.
· --exec-po=
Nazwa skryptu do wykonania po przełączeniu awaryjnym lub przełączeniu. Nazwa skryptu może zawierać
ścieżka.
· --exec-before=
Nazwa skryptu do wykonania przed przełączeniem awaryjnym lub przełączeniem. Nazwa skryptu może zawierać
ścieżka.
· --zmuszać
Zignoruj kontrole warunków wstępnych lub wszelkie znalezione nieścisłości (np. błędne transakcje na
(błędy wątków podrzędnych lub SQL) wymuszające wykonanie określonego polecenia. To
należy używać tej opcji ostrożnie, ponieważ nie rozwiąże ona żadnego wykrytego problemu, ale
zignoruj je tylko wyświetlając komunikat ostrzegawczy.
· --format= , -F
Wyświetlaj dane wyjściowe dotyczące stanu replikacji w formie siatki (domyślnie), karty, pliku csv lub w pionie
Format.
· --log=
Określ plik dziennika, który będzie używany do rejestrowania wiadomości
· --log-wiek=
Określ maksymalny wiek wpisów dziennika w dniach. Wpisy starsze niż ten zostaną usunięte
uruchomienie. Domyślnie = 7 dni.
· --master=
Informacje o połączeniu z serwerem głównym w formacie:
<użytkownik>[:passwd>]@gospodarz>[:Port>][:gniazdo>] lubścieżka-logowania>[:Port>][:gniazdo>].
· --max-pozycja=
Służy do wykrywania opóźnienia urządzenia podrzędnego. Maksymalna różnica między pozycją kłody mistrza
i zgłoszona pozycja odczytu mastera przez niewolnika. Wartość większa niż to oznacza
niewolnik jest zbyt daleko za panem. Domyślnie = 0.
· --nowy-master=
Informacje o połączeniu dla urządzenia podrzędnego, które ma zastąpić urządzenie nadrzędne podczas przełączania
w formie:użytkownik>[:passwd>]@gospodarz>[:Port>][:gniazdo>] lub
<ścieżka-logowania>[:Port>][:gniazdo>]. Ważne tylko z poleceniem switchover.
· --brak zdrowia
Wyłącz raportowanie stanu po przełączeniu lub przełączeniu awaryjnym.
· --ping=
Liczba prób ping w celu wykrycia awarii serwera. Uwaga: na niektórych platformach jest to
taka sama jak liczba sekund oczekiwania świst zwrócić. Ta wartość jest również używana do
sprawdź status mastera. Failover będzie czekać świst sekund na sprawdzenie odpowiedzi mastera.
W przypadku braku odpowiedzi następuje przełączenie awaryjne.
· --cicho, -q
Wyłącz wszystkie wiadomości, aby wykonać ciche wykonanie.
· --rpl-użytkownik=
Użytkownik i hasło wymagane dla użytkownika replikacji w formacie:
<użytkownik>[:password>] lubścieżka-logowania>. Np. rpl:passwd Domyślnie = Brak.
· --skrypt-próg=
Wartość dla zewnętrznych skryptów wyzwalających przerwanie operacji, jeśli wynik jest większy niż
lub równa progowi.
Domyślnie = Brak (brak sprawdzania progu).
· --sekundy-za=
Służy do wykrywania opóźnienia urządzenia podrzędnego. Maksymalna dozwolona liczba sekund za mistrzem
zanim niewolnik zostanie uznany za mistrza. Domyślnie = 0.
· --niewolnicy=
Informacje o połączeniu dla serwerów podrzędnych w postaci:
<użytkownik>[:passwd>]@gospodarz>[:Port>][:gniazdo>] lubścieżka-logowania>[:Port>][:gniazdo>]. Lista
wielu niewolników na liście oddzielonej przecinkami. Lista będzie oceniana dosłownie, przy czym
każdy serwer jest uważany za niewolnika wymienionego mastera, niezależnie od tego, czy jest niewolnikiem
mistrza.
· --timeout=
Maksymalny limit czasu w sekundach oczekiwania na zakończenie każdego polecenia replikacji. Do
np. limit czasu dla slave'a czekającego na dogonienie mastera. Domyślnie = 300 sekund.
· --gadatliwy, -v
Określ ilość informacji do wyświetlenia. Użyj tej opcji wiele razy, aby zwiększyć
ilość informacji. Na przykład, -v = gadatliwy, -w = bardziej gadatliwy, -vvv =
odpluskwić.
· --wersja
Wyświetl informacje o wersji i zakończ.
UWAGI
Logowany użytkownik musi mieć odpowiednie uprawnienia do wykonania POKAZAĆ NIEWOLNIK STATUS, POKAZAĆ
MASTER STATUS, POKAZAĆ ZMIENNE na odpowiednich serwerach, a także udzielać
Uprawnienie REPLICATE SLAVE. Narzędzie sprawdza uprawnienia dla mastera, slave'ów i
Kandydaci w startupie.
Mieszanie adresów IP i nazw hostów nie jest zalecane. Narzędzia specyficzne dla replikacji będą:
spróbuj porównać nazwy hostów i adresy IP jako aliasy w celu sprawdzenia łączności z urządzeniami podrzędnymi
do mistrza. Jeśli jednak Twoja instalacja nie obsługuje odwrotnego wyszukiwania nazw,
porównanie może się nie udać. Bez możliwości odwrotnego wyszukiwania nazwy replikacja
przedsiębiorstwa użyteczności publicznej mogą zgłosić fałszywy negatyw, że urządzenie podrzędne (nie) jest podłączone do urządzenia nadrzędnego.
Na przykład, jeśli skonfigurujesz replikację przy użyciu MASTER_HOST=ubuntu.net na urządzeniu podrzędnym i później
połącz się z urządzeniem podrzędnym za pomocą mysqlrplcheck i ustaw mastera jako
--master=192.168.0.6 używając prawidłowego adresu IP dla ubuntu.net, musisz mieć możliwość
wykonać odwrotne wyszukiwanie nazwy w celu porównania adresu IP (192.168.0.6) i nazwy hosta (ubuntu.net)
aby ustalić, czy to ta sama maszyna.
Podobnie, jeśli używasz localhost do połączenia z masterem, raport o stanie zdrowia może nie być wyświetlany
wszystkich niewolników. Najlepiej jest używać rzeczywistej nazwy hosta mastera podczas łączenia lub
konfigurowanie replikacji.
Jeżeli użytkownik nie określi --rpl-użytkownik a użytkownik określił przełączenie lub
polecenie failover, narzędzie sprawdzi, czy urządzenia podrzędne są używane
--master-info-repository=TABELA. Jeśli tak nie jest, narzędzie zatrzyma się z błędem.
Wszystkie polecenia wymagają albo --niewolnicy or --discover-slaves-login opcja, ale obie
nie mogą być używane w tym samym czasie. W rzeczywistości niektóre polecenia pozwalają tylko na użycie --niewolnicy
opcja, która jest bezpieczniejsza do określenia listy niewolników, ponieważ --discover-slaves-login może
nie udostępnia aktualnej listy dostępnych niewolników.
Ścieżka do narzędzi klienta MySQL powinna być zawarta w zmiennej środowiskowej PATH w
aby skorzystać z mechanizmu uwierzytelniania ze ścieżkami logowania. Umożliwi to narzędziu:
użyj narzędzi my_print_defaults, które są wymagane do odczytania wartości ścieżki logowania z
plik konfiguracyjny logowania (.mylogin.cnf).
PRZYKŁADY
Aby wykonać najlepszy wybór urządzenia podrzędnego dla topologii z opcją GTID_MODE=ON (wersja serwera 5.6.5 lub
(wyżej), gdzie wszystkie urządzenia podrzędne są określone za pomocą --niewolnicy opcja, uruchom następujące polecenie
rozkaz.:
$ mysqlrpladmin --master=root@localhost:3331 \
--slaves=root@localhost:3332,root@localhost:3333,root@localhost:3334 wybierz
# Wybieranie kandydata na niewolnika spośród znanych niewolników.
# Najlepszy znaleziony niewolnik znajduje się na localhost:3332.
# ...Gotowe.
Aby przeprowadzić najlepsze wybory podrzędne, dostarczając listę kandydatów, użyj następującego polecenia:
$ mysqlrpladmin --master=root@localhost:3331 \
--slaves=root@localhost:3332,root@localhost:3333,root@localhost:3334 \
--candidates=root@localhost:3333,root@localhost:3334 wybierz
# Wybieranie kandydata na niewolnika z listy kandydatów, a następnie z listy niewolników.
# Najlepszy znaleziony niewolnik znajduje się na localhost:3332.
# ...Gotowe.
Aby wykonać przełączenie awaryjne po awarii urządzenia głównego, użyj następującego polecenia:
$ mysqlrpladmin \
--slaves=root@localhost:3332,root@localhost:3333,root@localhost:3334 \
--candidates=root@localhost:3333,root@localhost:3334 przejście awaryjne
# Wykonywanie przełączania awaryjnego.
# Kandydat na niewolnika localhost:3333 zostanie nowym mistrzem.
# Przygotowanie kandydata do pracy awaryjnej.
# Tworzenie użytkownika replikacji, jeśli nie istnieje.
# Zatrzymywanie niewolników.
# Wykonywanie STOP na wszystkich urządzeniach podrzędnych.
# Przełączanie slave'ów na nowego mastera.
# Uruchamianie niewolników.
# Wykonywanie START na wszystkich urządzeniach podrzędnych.
# Sprawdzanie slave'ów pod kątem błędów.
# Przełączanie awaryjne zakończone.
# ...Gotowe.
Aby sprawdzić stan replikacji topologii z opcją GTID_MODE=ON (wersja serwera 5.6.5 lub
(wyższe) i odkryj wszystkie urządzenia podrzędne podłączone do urządzenia nadrzędnego, uruchom następujące polecenie. Używamy
wynik polecenia failover powyżej:
$ mysqlrpladmin --master=root@localhost:3333 \
--slaves=root@localhost:3332,root@localhost:3334 zdrowie
# Pobieranie informacji o stanie zdrowia dla hosta głównego: localhost:3333.
#
# Stan topologii replikacji:
+------------+-------+---------+--------+--------- ---+---------+
| gospodarz | port | rola | stan | gtid_mode | zdrowie |
+------------+-------+---------+--------+--------- ---+---------+
| host lokalny | 3333 | MISTRZ | W GÓRĘ | WŁ | OK |
| host lokalny | 3332 | NIEWOLNIK | W GÓRĘ | WŁ | OK |
| host lokalny | 3334 | NIEWOLNIK | W GÓRĘ | WŁ | OK |
+------------+-------+---------+--------+--------- ---+---------+
# ...Gotowe.
Aby wyświetlić szczegółowy raport o stanie replikacji, ale ze wszystkimi kontrolami stanu replikacji
ujawniono, użyj --gadatliwy opcja pokazana poniżej. W tym przykładzie używamy formatu pionowego
aby ułatwić przeglądanie.:
$ mysqlrpladmin --master=root@localhost:3331 \
--slaves=root@localhost:3332,root@localhost:3333,root@localhost:3334 \
--szczegółowe informacje o zdrowiu
# Pobieranie informacji o stanie zdrowia dla hosta głównego: localhost:3331.
# Próba nawiązania kontaktu z localhostem ... Powodzenie
# Próba nawiązania kontaktu z localhostem ... Powodzenie
# Próba nawiązania kontaktu z localhostem ... Powodzenie
# Próba nawiązania kontaktu z localhostem ... Powodzenie
#
# Stan topologii replikacji:
************************* 1. rząd ********************** ***
host: localhost
port: 3331
rola: MISTRZ
stan: UP
gtid_mode: WŁĄCZONY
zdrowie: OK
wersja: 5.6.5-m8-debug-log
plik_logu_głównego: mysql-bin.000001
pozycja_logu_głównego: 571
Wątek_IO:
Wątek_SQL:
Sekunda_za:
Pozostało_opóźnienie:
Numer_błędu_IO:
Błąd IO:
************************* 2. rząd ********************** ***
host: localhost
port: 3332
rola: NIEWOLNIK
stan: UP
gtid_mode: WŁĄCZONY
zdrowie: OK
wersja: 5.6.5-m8-debug-log
plik_logu_głównego: mysql-bin.000001
pozycja_logu_głównego: 571
IO_Thread: Tak
Wątek SQL: Tak
Sekunda_wstecz: 0
Pozostało_opóźnienie: Nie
Numer_błędu_IO: 0
Błąd IO:
************************* 3. rząd ********************** ***
host: localhost
port: 3333
rola: NIEWOLNIK
stan: UP
gtid_mode: WŁĄCZONY
zdrowie: OK
wersja: 5.6.5-m8-debug-log
plik_logu_głównego: mysql-bin.000001
pozycja_logu_głównego: 571
IO_Thread: Tak
Wątek SQL: Tak
Sekunda_wstecz: 0
Pozostało_opóźnienie: Nie
Numer_błędu_IO: 0
Błąd IO:
************************* 4. rząd ********************** ***
host: localhost
port: 3334
rola: NIEWOLNIK
stan: UP
gtid_mode: WŁĄCZONY
zdrowie: OK
wersja: 5.6.5-m8-debug-log
plik_logu_głównego: mysql-bin.000001
pozycja_logu_głównego: 571
IO_Thread: Tak
Wątek SQL: Tak
Sekunda_wstecz: 0
Pozostało_opóźnienie: Nie
Numer_błędu_IO: 0
Błąd IO:
4 rzędy.
# ...Gotowe.
Aby uruchomić to samo polecenie failover, ale określić plik dziennika, użyj następującego polecenia
rozkaz.:
$ mysqlrpladmin \
--slaves=root@localhost:3332,root@localhost:3333,root@localhost:3334 \
--candidates=root@localhost:3333,root@localhost:3334 \
--log=test_log.txt przejście awaryjne
# Wykonywanie przełączania awaryjnego.
# Kandydat na niewolnika localhost:3333 zostanie nowym mistrzem.
# Przygotowanie kandydata do pracy awaryjnej.
# Tworzenie użytkownika replikacji, jeśli nie istnieje.
# Zatrzymywanie niewolników.
# Wykonywanie STOP na wszystkich urządzeniach podrzędnych.
# Przełączanie slave'ów na nowego mastera.
# Uruchamianie niewolników.
# Wykonywanie START na wszystkich urządzeniach podrzędnych.
# Sprawdzanie slave'ów pod kątem błędów.
# Przełączanie awaryjne zakończone.
# ...Gotowe.
Po tym poleceniu plik dziennika będzie zawierał wpisy takie jak poniższe:
2012-03-19 14:44:17 PM INFO Wykonywanie polecenia failover...
2012-03-19 14:44:17 PM INFO Wykonywanie przełączania awaryjnego.
2012-03-19 14:44:17 PM INFO Kandydat na administratora podrzędnego localhost:3333 zostanie nowym administratorem nadrzędnym.
2012-03-19 14:44:17 PM INFO Przygotowywanie kandydata do przełączenia awaryjnego.
2012-03-19 14:44:19 PM INFO Utworzenie użytkownika replikacji, jeśli nie istnieje.
2012-03-19 14:44:19 PM INFO Zatrzymanie niewolników.
2012-03-19 14:44:19 PM INFO Wykonywanie operacji STOP na wszystkich urządzeniach podrzędnych.
2012-03-19 14:44:19 PM INFO Przełączanie serwerów podrzędnych na nowe serwery nadrzędne.
2012-03-19 14:44:20 PM INFO Uruchamianie niewolników.
2012-03-19 14:44:20 PM INFO Wykonywanie START na wszystkich urządzeniach podrzędnych.
2012-03-19 14:44:20 PM INFO Sprawdzanie błędów w serwerach podrzędnych.
2012-03-19 14:44:21 PM INFO Przełączanie awaryjne zakończone.
2012-03-19 14:44:21 PM INFO ...zrobione.
Aby wykonać przełączenie i zdegradować bieżący master do slave, użyj następującego polecenia
rozkaz.:
$ mysqlrpladmin --master=root@localhost:3331 \
--slaves=root@localhost:3332,root@localhost:3333,root@localhost:3334 \
--new-master=root@localhost:3332 --demote-master przełączenie
# Wykonywanie przełączenia z serwera głównego na localhost:3331 na serwer podrzędny na localhost:3332.
# Sprawdzanie wymagań wstępnych dla kandydatów na niewolników.
# Czekanie, aż niewolnicy dogonią starego pana.
# Zatrzymywanie niewolników.
# Wykonywanie STOP na wszystkich urządzeniach podrzędnych.
# Zdegradowanie starego pana i uczynienie go niewolnikiem nowego pana.
# Przełączanie slave'ów na nowego mastera.
# Uruchamianie wszystkich urządzeń podrzędnych.
# Wykonywanie START na wszystkich urządzeniach podrzędnych.
# Sprawdzanie slave'ów pod kątem błędów.
# Przełączanie zakończone.
# ...Gotowe.
Jeżeli raport o stanie replikacji zostanie wygenerowany w topologii po wykonaniu powyższego polecenia,
wyświetli starego mastera jako slave'a, jak pokazano poniżej:
# Stan topologii replikacji:
+------------+-------+---------+--------+--------- ---+---------+
| gospodarz | port | rola | stan | gtid_mode | zdrowie |
+------------+-------+---------+--------+--------- ---+---------+
| host lokalny | 3332 | MISTRZ | W GÓRĘ | WŁ | OK |
| host lokalny | 3331 | NIEWOLNIK | W GÓRĘ | WŁ | OK |
| host lokalny | 3333 | NIEWOLNIK | W GÓRĘ | WŁ | OK |
| host lokalny | 3334 | NIEWOLNIK | W GÓRĘ | WŁ | OK |
+------------+-------+---------+--------+--------- ---+---------+
Możesz użyć funkcji odkrywania niewolników, jeśli i tylko jeśli wszyscy niewolnicy zgłoszą swojego hosta i
port do mastera. Przykładowe polecenie do generowania raportu o stanie replikacji z
odkrycie jest pokazane poniżej. Należy zauważyć, że opcja --discover-slaves-login nie może być używany w
w połączeniu z --niewolnicy opcja.:
$ mysqlrpladmin --master=root@localhost:3332 --discover-slaves-login=root health
# Odkrywanie niewolników dla pana na lokalnym hoście: 3332
# Odkrywanie niewolnika na localhost:3331
# Znaleziono niewolnika: localhost:3331
# Odkrywanie niewolnika na localhost:3333
# Znaleziono niewolnika: localhost:3333
# Odkrywanie niewolnika na localhost:3334
# Znaleziono niewolnika: localhost:3334
# Sprawdzanie uprawnień.
#
# Stan topologii replikacji:
+------------+-------+---------+--------+--------- ---+---------+
| gospodarz | port | rola | stan | gtid_mode | zdrowie |
+------------+-------+---------+--------+--------- ---+---------+
| host lokalny | 3332 | MISTRZ | W GÓRĘ | WŁ | OK |
| host lokalny | 3331 | NIEWOLNIK | W GÓRĘ | WŁ | OK |
| host lokalny | 3333 | NIEWOLNIK | W GÓRĘ | WŁ | OK |
| host lokalny | 3334 | NIEWOLNIK | W GÓRĘ | WŁ | OK |
+------------+-------+---------+--------+--------- ---+---------+
# ...Gotowe.
PRAWA AUTORSKIE
Użyj mysqlrpladmin online korzystając z usług onworks.net