Jak skonfigurować replikację MySQL w Rhel, Rocky i Almalinux

Jak skonfigurować replikację MySQL w Rhel, Rocky i Almalinux

Replikacja danych to proces kopiowania danych na wielu serwerach w celu poprawy dostępności danych i poprawy niezawodności i wydajności aplikacji. W Mysql Replikacja, dane są kopiowane z bazy danych z serwera głównego do innych węzłów w czasie rzeczywistym, aby zapewnić spójność danych, a także w celu zapewnienia tworzenia kopii zapasowych i redundancji.

W tym przewodniku pokazujemy, jak możesz się skonfigurować Mysql (Mistrz-niewolnik) Replikacja w rozkładach opartych na RHEL, takich jak Centos, Fedora, Rocky Linux, I Almalinux.

Konfiguracja replikacji MySQL

Oto nasz Mysql Konfiguracja laboratorium replikacji.

Mysql Master - 10.128.0.14 MySQL Slave - 10.128.15.211 

Zacznijmy…

Krok 1: Zainstaluj MySQL na serwerze głównym i niewolniczym

Zaczniemy od zainstalowania Mysql baza danych na obu gospodarz I niewolnik serwery.

$ sudo dnf instaluj @mysql 
Zainstaluj MySQL w Rocky Linux

Po zakończeniu instalacji należy uruchomić serwer bazy danych.

$ sudo systemctl start mysqld 

Następnie umożliwić rozpoczęcie uruchamiania systemu lub po ponownym uruchomieniu.

$ sudo systemctl włącz MySQLD 

Następnie potwierdź, że Mysql Serwer bazy danych działa jak pokazano:

$ sudo systemCtl status mysqld 
Sprawdź status działania MySQL

Krok 2: Zabezpiecz MySQL na serwerze głównym i niewolniczym

Następnym krokiem jest zabezpieczenie Mysql baza danych na obu gospodarz I niewolnik serwery. Wynika to z faktu, że ustawienia domyślne są niepewne i przedstawiają luki, które mogą łatwo wykorzystać przez hakerów.

Więc, aby stwardnieć mysql, uruchom polecenie:

$ sudo mysql_secure_instalation 

Po pierwsze, będziesz musiał ustawić Mysql hasło roota. Pamiętaj, aby podać silne hasło roota, najlepiej z więcej niż 8 znakami, które są mieszanką wielkich, małych liter, specjalnych i liczbowych znaków.

Zabezpieczyć MySQL w Rocky Linux

W przypadku pozostałych podpowiedzi wpisz się „Y” Aby dostosować serwer bazy danych do zalecanych ustawień.

Potwierdź ustawienia MySQL

Po zakończeniu instalacji i stwardnienia Mysql W węźle głównym i niewolnikiem następnym jest skonfigurowanie węzła głównego.

Krok 3: Skonfiguruj węzeł główny (serwer)

Następnym krokiem jest skonfigurowanie Gospodarz węzeł i przyznać niewolnik Dostęp do węzła do niego. Najpierw musimy edytować MySQL-Server.CNF plik konfiguracyjny.

$ sudo vim /etc /my.CNF.D/mysql-server.CNF 

Dodaj następujące linie pod [Mysqld] Sekcja.

Address BIND = 10.128.0.14 server-id = 1 log_bin = mysql-bin 

Po zakończeniu zapisz zmiany i wyjdź. Następnie uruchom ponownie Mysql serwer.

$ sudo sysemctl restart mysqld 

Następnie zaloguj się Mysql powłoka.

$ sudo mysql -u root -p 

Wykonaj następujące polecenia, aby utworzyć użytkownika bazy danych, który zostanie użyty do powiązania głównego i niewolnika do replikacji.

mysql> Utwórz użytkownika „Replica”@'10.128.15.211 „Zidentyfikowane przez„ [e -mail chronione] ”; mysql> Replikacja dotacji niewolnik na *.*Do „Replica”@'10.128.15.211 '; 
Utwórz użytkownika replikacji bazy danych

Zastosuj zmiany i wyjdź Mysql serwer.

mysql> uprawnienia spłukające; mysql> exit; 

Sprawdź status mistrza.

mysql> pokaż status główny \ g 
Sprawdź status MySQL

Zwróć uwagę na nazwę pliku i pozycję. Będziesz tego późniejszy podczas konfigurowania niewolnika do replikacji. W naszym przypadku mamy nazwę pliku jako Mysql-bin.000001 i pozycja 1232.

Krok 4: Skonfiguruj węzeł Slave (serwer)

Teraz wróć do węzła niewolnika. Jeszcze raz edytuj MySQL-Server.CNF plik konfiguracyjny.

$ sudo vim /etc /my.CNF.D/mysql-server.CNF 

Tak jak poprzednio, wklej te linie pod [Mysqld] Sekcja. Zmień adres IP, aby odpowiadał IP niewolnika. Przypisz także inny Serwer-ID. Tutaj przypisaliśmy to wartość 2.

Address BIND = 10.128.15.211 server-id = 2 log_bin = mysql-bin 

Zapisz zmiany i wyjdź z pliku. Następnie uruchom ponownie serwer bazy danych.

$ sudo systemctl restart mysqld 

Aby skonfigurować Niewolnik węzeł do powtórzenia z węzła głównego, zaloguj się do serwera mysql niewolnika.

$ sudo mysql -u root -p 

Przede wszystkim zatrzymaj wątki replikacji:

Mysql> Stop Slave; 
Zatrzymaj niewolnik mysql

Następnie wykonaj następujące polecenie, aby skonfigurować węzeł niewolnika do replikacji baz danych z głównego.

mysql> Zmień Master na master_host = "10.128.0.14 ", master_user =" Replica ", master_password = '[e-mail chroniony]', master_log_file =" mysql-bin.000001 ", master_log_pos = 1232; 

Zauważ, że Master_log_file I Master_log_pos flagi odpowiadają plikowi i Pozycja Wartości z Gospodarz węzeł na końcu kroku 1.

Master_host, Master_user, I Master_password odpowiadają głównym adresowi IP, użytkownikowi replikacji i hasła użytkownika replikacji.

Skonfiguruj replikację niewolników mysql

Następnie rozpocznij wątki replikacji niewolników:

mysql> start Slave; 
Rozpocznij niewolnik MySQL

Krok 4: Testowanie replikacji mistrzów mistrzów MySQL

Teraz, aby sprawdzić, czy replika między węzłem głównym a niewolnikiem działa, zaloguj się do serwera bazy danych MySQL w węźle głównym:

$ sudo mysql -u root -p 

Utwórz testową bazę danych. Tutaj nazywa się nasza testowa baza danych Replikacja_db.

mysql> Utwórz replikację bazy danych_db;
Sprawdź istnienie bazy danych.
mysql> pokaż bazy danych; 
Utwórz bazę danych na Mysql Master

Teraz przejdź do węzła niewolnika, zaloguj się na serwer MySQL i potwierdź, że Replikacja_db Baza danych jest obecna. Na podstawie wyjścia poniżej widać, że baza danych jest obecna. To jest potwierdzenie, że replika miała miejsce od mistrza do węzła niewolnika.

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

I to wszystko, z powodzeniem zademonstrowaliśmy, w jaki sposób możesz skonfigurować Mysql Model replikacji mistrza, który może replikować bazy danych z węzła głównego do węzła niewolnika.