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.