Jak skonfigurować replikację Mariadb (mistrzyni) w Centos/Rhel 7 i Debian 8/9
- 4715
- 1248
- Maria Piwowarczyk
Nawet gdy niektórzy ludzie słyszą to wyrażenie „Replikacja bazy danych„Często kojarzą go z potrzebą wielu kopii tych samych informacji, aby uniknąć utraty danych w przypadku awarii sprzętu lub uszkodzeniu danych. Chociaż jest to prawdą w pewnym stopniu, replikacja bazy danych ma znacznie więcej niż powszechna koncepcja tworzenia kopii zapasowej bazy danych i dostępności danych.
Replikacja Mariadb Master-Slave w Centos/Rhel 7 i Debian 8/9Wśród innych zalet replikacji bazy danych w konfiguracji master-slave możemy wspomnieć:
- Kopie zapasowe można wykonać na serwerze Slave bez wpływu (i dotknięcia) operacji zapisu w Master.
- Operacje wymagające zasobów (takie jak analiza danych) można wykonać na niewolniku bez wpływu na wydajność mistrza.
W tym artykule wyjaśnimy, jak skonfigurować replikację mistrzów Mariadb 10.1. W przeciwieństwie do klasycznej replikacji, Mariadb wprowadził pojęcie Globalne identyfikatory transakcji (GTIDS) W v10.0, co pozwala łatwo zmieniać niewolnika, aby łatwo się połączyć i odtworzyć z innego mistrza. Ponadto stan niewolnika jest rejestrowany w sposób bezpieczny dla awarii (aktualizacje stanu są wykonywane w tej samej transakcji, co aktualizacje danych).
Jeśli szukasz Mysql Replikacja pod Centos/Rhel 6, Postępuj zgodnie z tym przewodnikiem konfiguracji MySQL (Master-Slave) Replikacja na CentoS/RHEL 6
Instalowanie MariaDB 10.1 w Centos/Rhel 7 i Debian 8/9
Nasze środowisko testowe składa się z następujących maszyn (oba są Centos 7):
Mistrz: 192.168.0.18 Slave: 192.168.0.19
Aby zainstalować najnowszą wersję Mariadb, będziemy musieli dodać ich repozytoria do naszych serwerów. Jeśli używasz starszej wersji Mariadb, powiedz 5.5, rozważ aktualizację do najnowszych 10.1 wersja za pomocą poniżej artykułu.
- Upgrde Mariadb 5.5 do Mariadb 10.1
W Centos/Rhel
Utwórz plik o nazwie Mariadb.Repo
wewnątrz /etc/mniam.repozytorium.D z następującymi treściami na obu Gospodarz I Niewolnik Systemy:
# Mariadb 10.Lista repozytorium 1 Centos-utworzona 2016-01-23 14:16 UTC # http: // mariadb.org/mariadb/repozytoria/[mariadb] nazwa = mariadb baseurl = http: // yum.Mariadb.Org/10.1/centos7-amd64 gpgkey = https: // yum.Mariadb.ORG/RPM-GPG-KEY-MARIADB GPGCheck = 1
Zapisz plik i zainstaluj mariadb na obu serwerach za pomocą Yum:
# Yum Update && Yum Instaluj Mariadb-server mariadb-client
W Debian/Ubuntu
Dodaj klucz do uwierzytelnienia pakietów i repozytorium MariaDB:
# apt-get instaluj oprogramowanie-properties-common # apt-key adv--recv-keys-Keyserver Keyserver.Ubuntu.com 0xcbcb082a1bb943db # Add-Aapt-Repository 'Deb [arch = AMD64, i386] http: // luster.Edatel.internet.co/mariadb/repo/10.1/Debian Jessie główny'
Notatka: Zastąp dystrybucję nazwa I kryptonim w wyżej podświetlonej linii.
Zainstaluj za pomocą apt-get Komenda:
# aktualizacja apt-get # apt-get instaluj mariadb-serverSprawdź wersję mariadb na mistrzowskiej serwerach niewolników
Po zainstalowaniu Mariadb, uruchom Mysql_Secure_Instalation
Procedura zarówno na Master, jak i Slave, skonfigurujmy przykładową bazę danych w komputerze głównym.
Konfigurowanie przykładowej bazy danych MySQL na Master
Teraz skonfigurujemy na serwerze głównym Pracownicy
baza danych z https: // github.com/datacharmer/test_db (który zapewnia zestaw danych 4 milion rekordów rozłożonych na sześciu tabelach) w dwóch prostych krokach:
Klonuj repozytorium i użyj go do zaimportowania przykładowej bazy danych do instalacji MariaDB:
# git klon https: // github.com/datacharmer/test_db # cd test_db # mysql < employees.sql
Konfigurowanie serwera MySQL na Master
Aby skonfigurować główny, wykonaj następujące kroki:
KROK 1: Edytuj /itp./mój.CNF
plik. Pod [Mysqld]
Sekcja, dodaj następujące cztery wiersze:
Log-bin Server_id = 1 Replicate-DO-DB = Pracownicy BIND-Address = 192.168.0.18
i ponownie uruchom Mariadb:
# Systemctl restart mariadb
KROK 2: Zaloguj się na serwerze Mariadb jako root, utwórz niewolnik użytkownika i przypisz niezbędne dotacje:
Mariadb [(brak)]> Utwórz użytkownika „Slave”@„LocalHost” zidentyfikowane przez „SlavePassword”; Mariadb [(brak)]> Niewolnik replikacji dotacji na *.* Do Slave zidentyfikowanego przez „SlavePassword” z opcją grantu; Mariadb [(brak)]> Przywileje spłukiwane; Mariadb [(brak)]> Stoły spłukające z zamkiem odczytu; Mariadb [(brak)]> Pokaż status główny;
ostatni Komenda (Pokaż status główny) Zwraca bieżącą pozycję w dzienniku binarnym (dokładne współrzędne, które wskazują dokładnie w tym punkcie, w którym niewolnik powinien zacząć odtwarzać od:
Skonfiguruj Mysql Master do replikacjiKROK 3: Wyjdź z monitu MariaDB (z Wyjście;
) i użyj następującego polecenia, aby zrobić migawkę bazy danych pracowników. Kiedy uderzysz Wchodzić, Zostaniesz poproszony o wpisanie hasła do skonfigurowanej wcześniej Mysql_Secure_Instalation
:
# Mysqldump -u root -p pracownicy> Pracownicy -Dump.SQL
Po zakończeniu zrzutu połącz się ponownie z serwerem bazy danych, aby odblokować tabele, a następnie wyjść:
Mariadb [(brak)]> Odblokuj tabele; Mariadb [(brak)]> Wyjście;
KROK 4: Skopiuj zrzut do niewolnika:
# SCP pracowników-Dump.sql [e -mail chroniony]:/root/
Krok 5: Uruchom mysql_upgrade
Procedura w celu zaktualizowania tabel systemowych (zostaniesz poproszony o wprowadzenie hasła Root Mariadb):
# mysql_upgrade -u root -p
Krok 6: Zezwól na usługę bazy danych za pośrednictwem zapory:
# firewall-cmd --add-service = mysql # firewall-cmd --add-service = mysql --Permanent # firewall-cmd--reload
Teraz skonfigurujmy niewolnika.
Konfigurowanie serwera MySQL na Slave
Aby skonfigurować niewolnika, wykonaj następujące kroki:
KROK 1: Utwórz konto, aby wykonać zadania replikacji. Połącz się z lokalnym serwerem Mariadb z:
# mysql -u root -p
i wprowadź wcześniej skonfigurowane hasło.
KROK 2: Po podłączeniu z serwerem bazy danych utwórz użytkownika i pustą bazę danych oraz udzielaj uprawnień:
Mariadb [(brak)]> Utwórz pracowników bazy danych; Mariadb [(brak)]> Przyznać wszystkie przywileje na pracowników.* Do „Slave”@„LocalHost” z opcją grantu; Mariadb [(brak)]> Przywileje spłukiwane;
KROK 3: Wyjdź z monitu MariaDB i załaduj zrzut utworzony na serwerze głównym:
# Mysql -u root -p pracownicy < employees-dump.sql
KROK 4: Edytuj /itp./mój.CNF
plik do przypisania serwera ID do niewolnika pod [Mysqld]
Sekcja. Zauważ, że musi to być inna liczba całkowita niż 1, Jak używaliśmy 1 W Mistrzu:
server_id = 2 Replice-do-db = pracownicy
Uruchom ponownie serwer bazy danych:
# Systemctl restart mariadb
Krok 5: Uruchom mysql_upgrade
Procedura w celu zaktualizowania tabel systemowych (zostaniesz poproszony o wprowadzenie hasła Root Mariadb):
# mysql_upgrade -u root -p
Krok 6: Po zaimportowaniu zrzutu do niewolnika jesteśmy tylko kilka kroków, aby rozpocząć replikację. Zaloguj się do bazy danych i uruchom następujące polecenia w wierszu MARIADB. Zwróć szczególną uwagę na Master_log_file
I Master_log_pos
zmienne, które powinny pasować do wartości zwróconych przez Pokaż status główny w kroku 2 „Konfigurowanie głównego” powyżej.
Mariadb [(brak)]> Zmień Master na master_host = "192.168.0.18 ", master_user =" Slave ", Master_Password =" SlavePassword ", Master_port = 3306, master_log_file =" Master-bin.000001 ", master_log_pos = 314, master_connect_retry = 10, master_use_gtid = current_pos;
Krok 7: Rozpocznij niewolnika i sprawdź jego status bez wychodzenia z monitu MARIADB:
Mariadb [(brak)]> Zacznij niewolnik; Mariadb [(brak)]> Pokaż status niewolnika \ g;
Nie dlatego, że potrzebujesz tego teraz, ale pamiętaj, że możesz zatrzymać niewolnika z:
Mariadb [(brak)]> Zatrzymaj niewolnika;
Jeśli Pokaż status niewolnika \ g;
Polecenie zwraca wszelkie błędy. Użyj tych błędów, aby rozwiązać problem, a następnie uruchom Zacznij niewolnik;
Aby ponownie przetestować.
Testuj replikację bazy danych mysql/mariadb
Dodajmy rekord do pracownicy Tabela na serwerze głównym:
Mariadb [(brak)]> Wstaw do pracowników (EMP_NO, Birth_Date, First_name, Last_name, Płeć, Hire_Date) Wartości (500000, „1983-07-12”, „Dave”, „Null”, „M”, „2014-12-12”);
Następnie sprawdź, czy ta zmiana została powtórzona w niewolniku:
Mariadb [(brak)]> Używać pracowników; Mariadb [(brak)]> Wybierz * od pracowników, w których emp_no = 500000;Sprawdź replikację bazy danych MARIADB MySQL
Jak widać, replikacja działa poprawnie od mistrza do niewolnika.
Streszczenie
W tym artykule wyjaśniliśmy, jak zainstalować najnowszą wersję Mariadb w Centos/Rhel 7 i Debian 8/9, i omówił, jak skonfigurować replikację mistrzów z GTIDS. Aby uzyskać więcej informacji, możesz odwołać się do przewodnika replikacji MariaDB i nie wahaj się skontaktować z nami, korzystając z poniższego formularza, jeśli masz pytania lub komentarze.
- « Jak zainstalować i skonfigurować PFSense 2.1.5 (zapora/router) dla sieci domowej/biurowej
- 3 sposoby instalowania edytora tekstu Atom w OpenSuse »