![20 rzeczy do zrobienia po zainstalowaniu Ubuntu 20.10 „Groovy Gorilla”](/f/a0ddb21c19ed9c874c2417ba32bdb60f.png?width=100&height=100)
Replikacja danych to proces kopiowania danych na wiele serwerów w celu poprawy dostępności danych oraz zwiększenia niezawodności i wydajności aplikacji. w MySQL replikacji, 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 zapewnić kopie zapasowe i nadmiarowość.
W tym przewodniku pokazujemy, jak można skonfigurować MySQL (mistrz-niewolnik) replikacja w Dystrybucje oparte na RHEL Jak na przykład CentOS, Fedora, Rocky Linux, oraz AlmaLinux.
Oto nasza MySQL konfiguracja laboratorium replikacji.
Mistrz MySQL - 10.128.0.14. Niewolnik MySQL - 10.128.15.211.
Zacznijmy…
Zaczniemy od zainstalowania MySQL baza danych na obu gospodarz oraz niewolnik serwery.
$ sudo dnf install @mysql.
Po zakończeniu instalacji postaraj się uruchomić serwer bazy danych.
$ sudo systemctl start mysqld.
Następnie włącz go, aby rozpocząć uruchamianie 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.
Następnym krokiem jest zabezpieczenie MySQL baza danych na obu gospodarz oraz niewolnik serwery. Dzieje się tak, ponieważ domyślne ustawienia są niepewne i zawierają pewne luki, które hakerzy mogą łatwo wykorzystać.
Tak więc, aby wzmocnić MySQL, uruchom polecenie:
$ sudo mysql_secure_installation.
Najpierw będziesz musiał ustawić MySQL hasło roota. Pamiętaj, aby podać silne hasło roota, najlepiej zawierające więcej niż 8 znaków, które są mieszanką wielkich i małych liter, znaków specjalnych i cyfr.
W przypadku pozostałych monitów wpisz „T”
aby dostosować serwer bazy danych do zalecanych ustawień.
Po zakończeniu instalacji i utwardzania MySQL na węźle głównym i podrzędnym, następnym krokiem jest skonfigurowanie węzła głównego.
Następnym krokiem jest skonfigurowanie Gospodarz węzła i przyznaj niewolnik dostęp do węzła. Najpierw musimy edytować mysql-server.cnf plik konfiguracyjny.
$ sudo vim /etc/my.cnf.d/mysql-server.cnf.
Dodaj następujące wiersze pod [mysqld]
Sekcja.
adres-wiązania = 10.128.0.14. identyfikator-serwera = 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ę do MySQL muszla.
$ sudo mysql -u root -p.
Wykonaj następujące polecenia, aby utworzyć użytkownika bazy danych, który będzie używany do łączenia urządzeń nadrzędnych i podrzędnych w celu replikacji.
mysql> CREATE USER 'replica'@'10.128.15.211' IDENTYFIKOWANE PRZEZ '[e-mail chroniony]'; mysql> UDZIEL REPLIKACJI NA *.*TO 'replica'@'10.128.15.211';
Zastosuj zmiany i wyjdź z MySQL serwer.
mysql> UPRAWNIENIA PŁUKANIA; mysql> WYJDŹ;
Sprawdź status mastera.
mysql> POKAŻ STATUS GŁÓWNY\G.
Zanotuj nazwę pliku i pozycję. Będzie to potrzebne później podczas konfigurowania urządzenia podrzędnego do replikacji. W naszym przypadku mamy nazwę pliku jako mysql-bin.000001
i stanowisko 1232.
Teraz wróć do węzła Slave. 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ł adresowi IP urządzenia podrzędnego. Przypisz też inny identyfikator-serwera. Tutaj przypisaliśmy mu wartość 2.
adres-wiązania = 10.128.15.211. identyfikator-serwera = 2. log_bin = mysql-bin.
Zapisz zmiany i zamknij plik. Następnie zrestartuj serwer bazy danych.
$ sudo systemctl restart mysqld.
Aby skonfigurować Niewolnik węzeł do replikacji z węzła głównego, zaloguj się do serwera MySQL urządzenia Slave.
$ 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ł podrzędny do replikowania baz danych z urządzenia głównego.
mysql> ZMIEŃ MASTER NA MASTER_HOST='10.128.0.14', MASTER_USER='replika', MASTER_PASSWORD='[e-mail chroniony]', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1232;
Zwróć uwagę, że MASTER_LOG_FILE oraz MASTER_LOG_POS flagi odpowiadają plikowi i Pozycja wartości z Gospodarz węzeł na końcu kroku 1.
ten MASTER_HOST, MASTER_USER, oraz MASTER_PASSWORD odpowiadają odpowiednio głównemu adresowi IP, użytkownikowi replikacji i haśle użytkownika replikacji.
Następnie uruchom wątki replikacji podrzędnej:
mysql> START SLAVE;
Teraz, aby sprawdzić, czy działa replikacja między węzłem głównym i podrzędnym, zaloguj się do serwera bazy danych MySQL na węźle głównym:
$ sudo mysql -u root -p.
Utwórz testową bazę danych. Tutaj nasza testowa baza danych nazywa się replikacja_db.
mysql> CREATE DATABASE replikacja_db;
Sprawdź istnienie bazy danych.
mysql> POKAŻ BAZY DANYCH;
Teraz przejdź do węzła podrzędnego, zaloguj się do serwera MySQL i potwierdź, że replikacja_db baza danych jest obecna. Z poniższych danych wyjściowych widzimy, że baza danych jest obecna. Jest to potwierdzenie, że nastąpiła replikacja z węzła głównego do węzła podrzędnego.
mysql> POKAŻ BAZY DANYCH;
I to wszystko, z powodzeniem pokazaliśmy, jak można skonfigurować MySQL model replikacji master-slave, który może replikować bazy danych z węzła głównego do węzła podrzędnego.