Wyszukiwanie w witrynie

Jak skonfigurować replikację Master-Slave MySQL w RHEL 8


Replikacja MySQL to proces, podczas którego dane z jednego serwera są automatycznie kopiowane lub replikowane na inny serwer kopii zapasowych w czasie rzeczywistym. Replikacja zapewnia redundancję i odporność na awarie oraz daje użytkownikowi pewność, że nawet po awarii serwera głównego dane można odzyskać.

W tym samouczku dowiesz się, jak skonfigurować i skonfigurować replikację master-slave MySQL w systemie Linux RHEL 8.

Warunki wstępne

Podczas konfiguracji będziemy mieć dwa serwery z systemem RHEL 8 z następującymi adresami IP.

Master = 173.82.120.14
Slave  = 173.82.115.165

Kontynuujmy teraz i zobaczmy, jak możemy skonfigurować konfigurację replikacji MySQL Master-Slave w systemie RHEL 8 Linux.

Krok 1: Zainstaluj MySQL na serwerze głównym i podrzędnym

1. Najnowsza wersja MySQL 8.x jest już zawarta w domyślnym repozytorium RHEL 8 i możesz ją zainstalować, korzystając z poniższego mniam, polecenie.

yum -y install @mysql

Krok 2: Zabezpiecz MySQL na serwerze głównym i podrzędnym

Po instalacji powinieneś teraz uruchomić właśnie zainstalowaną usługę MySQL i sprawić, by uruchamiała się automatycznie przy każdym uruchomieniu serwera. Dlatego użyj następującego polecenia.

systemctl enable mysqld
systemctl start mysqld

Następnie musisz zabezpieczyć instalację MySQL, uruchamiając skrypt bezpieczeństwa, który zawiera kilka operacji związanych z bezpieczeństwem, takich jak ustawienie hasła roota, usuwanie anonimowych użytkowników, uniemożliwianie zdalnego logowania roota, usuwanie testowej bazy danych i uprawnienia do ponownego ładowania.

mysql_secure_installation

Przejdź do dalszej części monitu i odpowiedz Tak na wszystkie pytania, aby skonfigurować serwer zgodnie z najlepszymi praktykami bezpieczeństwa.

Krok 3: Konfiguracja głównego serwera MySQL

Aby rozpocząć od konfiguracji serwera głównego, kontynuuj i otwórz plik konfiguracyjny MySQL, wpisując następujące polecenie.

sudo vim /etc/my.cnf

W sekcji mysqld dołącz linie, jak pokazano poniżej.

bind-address =173.82.120.14
server-id = 1
log_bin =mysql-bin

Na koniec zrestartuj usługę MySQL.

sudo systemctl restart mysqld

Teraz utworzymy użytkownika replikacji. Dlatego zaloguj się do głównego serwera MySQL jako użytkownik root i podaj hasło.

sudo mysql -u root -p

Teraz uruchom następujące polecenia, aby utworzyć użytkownika repliki, jednocześnie przyznając użytkownikowi dostęp do urządzenia podrzędnego. Pamiętaj o użyciu adresu IP swojego urządzenia.

mysql> CREATE USER 'replica'@'173.82.115.165' IDENTIFIED BY 'strong_password';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.82.115.165';

Teraz wpiszesz następujące polecenie, które wydrukuje binarną nazwę pliku i pozycję.

mysql> SHOW MASTER STATUS\G

Pamiętaj, aby zanotować wynikową nazwę pliku msql-bin.000002 i jego pozycję 939.

Krok 4: Konfiguracja serwera podrzędnego MySQL

Podobnie jak w przypadku konfiguracji mastera, powinieneś dokonać następujących zmian w pliku konfiguracyjnym mysql slave.

sudo vim  /etc/my.cnf

Dołącz następujące wiersze w pliku konfiguracyjnym w sekcji mysqld.

bind-address =173.82.115.165
server-id = 2
log_bin =mysql-bin

Uruchom ponownie serwer.

sudo systemctl restart mysqld

Teraz następnym krokiem jest skonfigurowanie serwera podrzędnego do replikacji z serwera głównego. Zaloguj się do serwera MySQL.

sudo mysql -u root -p

Najpierw zatrzymaj wątki replikacji.

mysql> STOP SLAVE;

Teraz uruchom następujące zapytanie, które skonfiguruje urządzenie podrzędne do replikacji z serwera głównego.

mysql> CHANGE MASTER TO
    -> MASTER_HOST='173.82.120.14' ,
    -> MASTER_USER='replica' ,
    -> MASTER_PASSWORD='Jupiter@2030' ,
    -> MASTER_LOG_FILE='mysql-bin.000002' ,
    -> MASTER_LOG_POS=939;

Upewnij się, że używasz prawidłowej nazwy użytkownika i hasła IP. Użyj także nazwy pliku i pozycji otrzymanych z serwera głównego.

Na koniec wpisz następujące polecenie, aby uruchomić wątki podrzędne.

mysql> START SLAVE;

Krok 5: Testowanie replikacji master-slave MySQL

W tym momencie zakończyłeś konfigurację serwera głównego i podrzędnego. Musimy teraz sprawdzić, czy konfiguracja działa i czy replikacja może się odbyć.

Aby to zrobić, przejdź do serwera głównego i zaloguj się do serwera bazy danych MySQL.

sudo mysql -u root -p

Utwórz przykładową bazę danych.

mysql> CREATE DATABASE replication_database;

Teraz przejdź do serwera Slave i ponownie zaloguj się do serwera bazy danych MySQL.

sudo mysql -u root -p

Teraz wyświetl listę wszystkich baz danych za pomocą następującego polecenia.

mysql> SHOW DATABASES;

Jeśli widzisz utworzoną bazę danych, oznacza to, że konfiguracja replikacji MySQL Master-Slave działa.

Wniosek

Replikacja jest dość prostym procesem, który można łatwo wykonać. W tym przewodniku dowiedziałeś się, jak utworzyć replikację mastera MySQL na slave w systemie Linux RHEL 8.