Konfiguracja laboratoryjna
Węzeł główny - 192.168.43.13
Węzeł niewolniczy - 192.168.43.252
Krok 1: Zainstaluj Mariadb zarówno na serwerach Master i Slave
Na początek musisz zainstalować Mariadb zarówno na Mistrzu, jak i niewolnika. Więc postępuj zgodnie z poniższymi krokami:
Najpierw zaloguj się na serwerze głównym i zaktualizuj pakiety systemowe, jak pokazano:
Aktualizacja $ sudo dnf
Po pomyślnej aktualizacji systemu, teraz kontynuuj i zainstaluj Mariadb
$ sudo dnf instaluj mariadb-server
Gdy instalacja się powiedzie, możesz sprawdzić, czy Mariadb jest zainstalowany przez uruchamianie polecenia:
$ rpm -qa | Grep Mariadb
Aby uzyskać bardziej szczegółowe informacje, wykonaj polecenie:
$ rpm -qi mariadb -server
Teraz rozpocznij usługę Mariadb
$ sudo systemctl start mariadb
Dodatkowo możesz również włączyć usługę rozpoczęcia automatycznego uruchomienia po każdej sesji rozruchowej/ponownej uruchomienia.
$ sudo systemCtl włącza mariadb
Aby sprawdzić, czy silnik bazy danych MariaDB jest uruchomiony, wydaj polecenie:
$ sudo Systemctl Status Mariadb
Doskonały! Mariadb jest uruchomiony, jak się spodziewaliśmy.
W tej chwili Mariadb nie jest zabezpieczony, a żaden użytkownik może zalogować się do silnika bazy danych i mieć dostęp do wszystkich baz danych i wprowadzać zmiany. Oczywiście nie chcemy, aby tak się stało, a zabezpieczenie bazy danych powinno być najwyższym priorytetem. Dlatego musimy zabezpieczyć silnik bazy danych, ustawiając hasło roota. Więc uruchom polecenie poniżej:
$ sudo mysql_secure_instalation
Poniżej znajduje się interaktywny monit, który będzie wymagał ustawienia hasła rootowego dla bazy danych i odpowiedzi na kilka pytań.
Domyślnie Mariadb działa na porcie 3306. Jeśli prowadzisz zaporę ogniową, musisz zezwolić na ten port, aby silnik bazy danych mógł być dostępny dla użytkowników i usług zewnętrznych.
Aby otworzyć port w zaporze ogniowej, uruchom następującą zasadę zapory:
$ sudo firewalld-cmd --add-port = 3306/tcp-Zone = public --Permanent
Aby zastosować zasadę, ponownie załaduj zaporę:
$ sudo firewalld-cmd-rela jest
Z Mariadb pomyślnie zainstalowaną i zabezpieczoną na serwerze głównym, powtórz te same kroki na serwerze Slave.
Krok 2: Skonfiguruj Mariadb na serwerze głównym
Musimy skonfigurować demon mariadb, aby nasz zamierzony serwer główny działał jako serwer w konfiguracji. Więc otwórz plik konfiguracyjny /itp./mój.CNF
$ sudo vim /etc /my.CNF
Dołącz poniższą konfigurację
[Mysqld]Zapisz i wyjdź z pliku konfiguracyjnego. Aby wprowadzić zmiany, uruchom ponownie usługę MariaDB.
$ sudo systemctl restart mariadb-server
Krok 3: Skonfiguruj serwer Slave
Podobnie jak serwer główny, niewolnik musi być skonfigurowany, aby zachowywać się jak jeden. Więc otwórz plik konfiguracyjny jak poprzednio:
$ sudo vim /etc /my.CNF
Dołącz poniższą konfigurację
[Mysqld]Chętnie dostarczyć inną 'server_id„z serwera głównego, który w tym przypadku wynosi 2. I tak jak serwer główny, 'bind_address„Parametr powinien wskazywać na adres IP niewolnika.
Zapisz i wyjdź z pliku.
Krok 3: Utwórz użytkownika replikacji na serwerze głównym
Aby skonfigurować niewolnika do replikacji, musimy wrócić do węzła głównego i utworzyć użytkownika replikacji. Zaloguj się do silnika bazy danych Mariadb.
$ mysql -u root -pNajpierw zatrzymaj użytkownika niewolnika.
Mariadb [(brak)]> Zatrzymaj niewolnik;Utwórz użytkownika replikacji z pokazanymi poleceniami:
Mariadb [(none)]> Replikacja dotacji na *.* Do „Replica_user” @'192.168.43.252 '
Zidentyfikowane przez „p@ssWord123”;
Zapytanie OK, 0 dotkniętych wierszy (0.06 s)
Mariadb [(none)]> Przywileje spłukające;
Zapytanie OK, 0 dotkniętych wierszy (0.04 s)
Mariadb [(brak)]> tabele spłukające z Lock Read Lock;
Zapytanie OK, 0 dotkniętych wierszy (0.02 s)
Mariadb [(none)]> exit;
Zapytanie OK, 0 dotkniętych wierszy (0.02 s)
Następnie sprawdź ten status mistrza, uruchamiając:
Mariadb [(brak)]> Pokaż status główny \ gOstrożnie zanotuj wartości nazwy pliku i pozycji. Zostaną one później użyte do skonfigurowania niewolnika do replikacji.
Z powyższego wyjścia przekłada się to na:
Plik: mysql-bin.000001
Pozycja: 1317
Wyjdź z silnika Mariadb i utwórz kopię zapasową serwera głównego, jak pokazano:
$ sudo mysqldump --all -databases -u root -p> masterDatabase.SQL
Zaloguj się z powrotem do Mariadb i odblokuj tabele:
Mariadb [(brak)]> Odblokuj tabele;Pamiętaj o kopii kopii zapasowej, którą utworzyliśmy dla głównej bazy danych? Jesteśmy gotowi skopiować go na serwer Slave. Więc uruchom polecenie poniżej:
$ SCP MasterDatabase.SQL [email protected]:/root/
Krok 4: Skonfiguruj niewolnika do replikacji
Wróć do węzła niewolnika, zaimportuj plik kopii zapasowej, który skopiowaliśmy z mistrza do silnika Mariadb.
$ mysql -u root -p < masterdatabase.sqlA następnie uruchom ponownie usługę Mariadb
$ systemctl restart mariadb
Teraz zaloguj się do silnika bazy danych Mariadb i skonfiguruj niewolnika w następujący sposób:
Mariadb [(brak)]> Zatrzymaj niewolnik; Mariadb [(brak)]> Zmień Master na master_host = '192.168.43.13 ', master_user =' replica_user '',Pamiętaj o wartościach, które powiedzieliśmy, że powinieneś je zapamiętać i być może zanotować, wyświetlając status serwera głównego? Zostały one ostatecznie zdefiniowane w Master_log_file I Master_log_pos atrybuty jak widać.
Na koniec rozpocznij niewolnika, aby zainicjować niewolnika, aby rozpocząć od Mistrza:
Mariadb [(none)]> start niewolnik;Następnie sprawdź status niewolnika
Mariadb [(brak)]> Pokaż status niewolnika;Jeśli konfiguracja została wykonana idealnie, nie powinieneś otrzymywać poniższego wyjścia z żadnych błędów.
Niewolnik jest teraz gotowy do replikacji.
Krok 5: Testowanie replikacji bazy danych
Ostatecznie musimy potwierdzić, czy nasza konfiguracja działa. Zaloguj się więc do instancji Mariadb w głównym i utwórz testową bazę danych, jak pokazano
Mariadb [(brak)]> Utwórz bazę danych replica_db;Następnie potwierdź utworzenie bazy danych
Mariadb [(brak)]> Pokaż bazy danych;Wróć do węzła niewolnika i sprawdź, czy istnieje baza danych.
Doskonały! Nasza konfiguracja działa! Wszystkie kolejne bazy danych utworzone w Master zostaną automatycznie powtórzone, a zmiany zsynchronizowane w węźle niewolników. A to doprowadza nas do końca tego przewodnika.