Jak skonfigurować replikację master-slave MySQL na Ubuntu 18.04

Jak skonfigurować replikację master-slave MySQL na Ubuntu 18.04

Mysql Replikacja Master-Slave to procedura, która umożliwia replikację lub kopiowanie plików bazy danych przez jeden lub więcej węzłów w sieci. Ta konfiguracja zapewnia redundancję i tolerancję błędów, tak że w przypadku awarii w Węzeł główny, Bazy danych można nadal odzyskać w Węzeł niewolniczy. Daje to użytkownikom spokój, że wszyscy nie zostaną utracone w żadnej ewentualności, ponieważ replika baz danych może być nadal pobierana z innego serwera.

W tym przewodniku nauczysz się wykonać Mysql Baza danych Mistrz-niewolnik Replikacja na Ubuntu 18.04 system.

Wymagania wstępne

W konfiguracji będziemy mieć dwa serwery Ubuntu 18.04 z następującymi adresami IP.

Serwer główny: 10.128.0.28 Server Slave: 10.128.0.29 

Zanurzmy się teraz i zobaczmy, jak możemy skonfigurować Mistrz-niewolnik Konfiguracja replikacji Ubuntu.

Krok 1: Zainstaluj MySQL na węzłach Master i Slave

Ubuntu Repozytoria zawierają wersję 5.7 z Mysql. Aby skorzystać z nowych funkcji i uniknąć potencjalnych problemów, powinieneś zainstalować najnowszą wersję MySQL. Ale najpierw zaktualizujmy dwa węzły za pomocą następujące polecenie Apt.

Aktualizacja $ sudo apt 
Zaktualizuj oprogramowanie Ubuntu

Żeby zainstalować Mysql Na obu węzłach wykonaj polecenie.

$ sudo apt Zainstaluj mysql-server mysql-client 
Zainstaluj MySQL Server w Ubuntu

Następnie otwórz Mysql plik konfiguracyjny.

$ sudo vim/etc/mysql/mysql.conf.D/Mysqld.CNF 

Na Węzeł główny, przewiń i zlokalizuj Zakład wiązania atrybut, jak pokazano poniżej.

Address z wiązaniem = 127.0.0.1 

Zmień adres pętli, aby dopasować adres IP Węzeł główny.

Address BIND = 10.128.0.28 
Ustaw główny adres IP MySQL

Następnie określ wartość dla Serwer-ID atrybut w [Mysqld] Sekcja. Wybrany numer nie powinien pasować do żadnego innego numeru serwera. Przypiszmy wartość 1.

Server-ID = 1 
Ustaw identyfikator MySQL Server na Master

Na samym końcu pliku konfiguracyjnego skopiuj i wklej poniższe wiersze.

log_bin =/var/log/mysql/mysql-bin.log log_bin_index =/var/log/mysql/mysql-bin.dziennik.indeks relay_log =/var/log/mysql/mysql-relay-bin relay_log_index =/var/log/mysql/mysql-relay-bin.indeks 

Wyjdź z pliku konfiguracyjnego i uruchom ponownie usługę MySQL, aby zmiany mają wpływ na węzeł główny.

$ sudo systemctl restart mysql 

Aby sprawdzić, czy MySQL Server działa zgodnie z oczekiwaniami, wydaj polecenie.

$ sudo SystemCtl Status mysql 
Uruchom ponownie i sprawdź status MySQL

Doskonały! MySQL Server działa zgodnie z oczekiwaniami!

Krok 2: Utwórz nowego użytkownika do replikacji w węźle głównym

W tej sekcji utworzymy użytkownika replikacji w Węzeł główny. Aby to osiągnąć, zaloguj się do serwera MySQL, jak pokazano.

$ sudo mysql -u root -p 

Następnie kontynuuj i wykonaj pytania poniżej, aby utworzyć użytkownika repliki i przyznać dostęp do niewolnika replikacji. Pamiętaj, aby użyć adresu IP.

mysql> Utwórz użytkownika „Replikacja_user”@'10.128.0.29„Zidentyfikowany przez„ Replica_Password ”; mysql> Niewolnik replikacji dotacji na *.* Do „replikacji_user”@'10.128.0.29';; 
Utwórz użytkownik replikacji MySQL

Następnie uruchom następujące polecenie.

mysql> Pokaż status główny \ g 

Wyjście powinno być podobne do tego, co widać poniżej.

Sprawdź status Mysql Master

Bądź zapalony i zwróć uwagę Mysql-bin.000002 wartość i identyfikator pozycji 1643. Wartości te będą kluczowe podczas konfigurowania Serwer Slave.

Krok 3: Skonfiguruj serwer Slave MySQL

Udaj się na serwer niewolników i tak jak my z Serwer główny, Otwórz plik konfiguracyjny MySQL.

$ sudo vim/etc/mysql/mysql.conf.D/Mysqld.CNF 

Tak jak serwer główny, Przejdź do edycji następujących wierszy.

Address BIND = 10.128.0.29 
Powiązać adres IP MySQL na Slave

Jak poprzednio, określ wartość dla Serwer-ID atrybut w [Mysqld] Sekcja. Tym razem wybierz inną wartość. Chodźmy z 2.

server-id = 2 
Ustaw identyfikator serwera MySQL na Slave

Ponownie wklej poniższe linie na samym końcu pliku konfiguracyjnego.

log_bin =/var/log/mysql/mysql-bin.log log_bin_index =/var/log/mysql/mysql-bin.dziennik.indeks relay_log =/var/log/mysql/mysql-relay-bin relay_log_index =/var/log/mysql/mysql-relay-bin.indeks 

Następnie ponownie uruchom MySQL Server w węźle niewolników.

$ sudo systemctl restart mysql 

Po zakończeniu zapisz i wyjdź z edytora tekstu

Następnie zaloguj się do powłoki MySQL, jak pokazano.

$ sudo mysql -u root -p 

Na tym etapie musisz wykonać konfigurację, która pozwoli Serwer Slave Aby połączyć się z serwer główny. Ale najpierw zatrzymaj wątki niewolników, jak pokazano.

mysql> Zatrzymaj niewolnika; 

Aby pozwolić Serwer Slave do powtórzenia Serwer główny, Uruchom polecenie.

mysql> Zmień Master na master_host = '10.128.0.28 ', master_user =' replikacja_user ', master_password =' ​​[e-mail chroniony] ', master_log_file =' mysql-bin.000002 ', master_log_pos = 1643; 
Zezwalaj na replikację MySQL na serwerze Slave

Jeśli jesteś wystarczająco zapalony, zauważysz, że użyliśmy Mysql-bin.00002 Wartość i identyfikator pozycji 1643 Wcześniej wyświetlone po utworzeniu użytkownika replikacji niewolników.

Dodatkowo użyto adresu IP serwera głównego, użytkownika replikacji i hasło.

Później rozpocznij wątek, który wcześniej przestałeś.

mysql> Zacznij niewolnik; 

Krok 4: Sprawdź replikację mistrzów mistrzów MySQL

Aby sprawdzić, czy konfiguracja rzeczywiście działa zgodnie z oczekiwaniami, utworzymy nową bazę danych na Master i sprawdź, czy została powtórzona na serwerze Slave MySQL.

Zaloguj się do mysql w Serwer główny.

$ sudo mysql -u root -p 

Utwórzmy testową bazę danych. W takim przypadku utworzymy bazę danych o nazwie Replikacja_db.

mysql> Utwórz replikację bazy danych_db; 

Teraz zaloguj się do swojej instancji mysql w Serwer Slave.

$ sudo mysql -u root -p 

Teraz wymień bazy danych za pomocą zapytania.

mysql> Pokaż bazy danych; 
Sprawdź replikację mistrzów mistrzów MySQL

Zauważysz bazę danych utworzoną na gospodarz został powtórzony niewolnik. Wspaniały ! Twoja replikacja mistrzów mistrzów mysql działa zgodnie z oczekiwaniami! Możesz teraz mieć pewność, że w przypadku każdej porażki kopie plików bazy danych zostaną powtórzone na serwerze Slave.

Wniosek

W tym przewodniku nauczyłeś się skonfigurować Mistrz mistrzów mysql Konfiguracja replikacji Ubuntu 18.04.