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

- 1681
- 87
- Klaudia Woś
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

Żeby zainstalować Mysql Na obu węzłach wykonaj polecenie.
$ sudo apt Zainstaluj mysql-server mysql-client

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

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

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

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';;

Następnie uruchom następujące polecenie.
mysql> Pokaż status główny \ g
Wyjście powinno być podobne do tego, co widać poniżej.

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

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

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;

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;

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.