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

- 4799
- 438
- Maria Piwowarczyk
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

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

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.

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

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

Zastosuj zmiany i wyjdź Mysql serwer.
mysql> uprawnienia spłukające; mysql> exit;
Sprawdź status mistrza.
mysql> pokaż status główny \ g

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;

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.

Następnie rozpocznij wątki replikacji niewolników:
mysql> start Slave;

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;

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;

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.
- « 11 Przykłady zadań związanych z planowaniem cron w Linux
- Jak instalować, tworzyć i zarządzać LXC (kontenerów Linux) w Ubuntu/Debian »