Kako nastaviti replikacijo MariaDB (Master-Slave) v CentOS/RHEL 7 in Debian 8/9
Tudi ko nekateri IT -sodelavci slišijo stavek »Podvajanje baze podatkov“, Pogosto povezujejo s potrebo po več kopijah istih podatkov, da se izognejo izgubi podatkov v primeru okvare strojne opreme ali poškodovanja podatkov. Čeprav to do neke mere drži, je replikacija baze podatkov veliko več kot skupni koncept varnostnega kopiranja baze podatkov in razpoložljivosti podatkov.
Podvajanje glavnega-podrejenega MariaDB v CentOS/RHEL 7 in Debian 8/9
Med drugimi prednostmi podvajanja baze podatkov pri nastavitvi master-slave lahko omenimo:
Varnostno kopiranje je mogoče narediti na pomožnem strežniku, ne da bi to vplivalo (in nanj vplivalo) na operacije pisanja v glavni enoti.
Operacije, ki zahtevajo vire (na primer analizo podatkov), je mogoče izvajati na pomožnem računalniku, ne da bi to vplivalo na zmogljivost glavnega.
V tem članku bomo razložili, kako nastaviti replikacijo master-slave v MariaDB 10.1. V nasprotju s klasično replikacijo je MariaDB uvedla koncept ID -ji globalnih transakcij (GTID -ji
) v v10.0, ki omogoča enostavno spreminjanje podrejenega računalnika za povezavo in replikacijo z drugega gospodarja. Poleg tega se stanje podrejenega zabeleži na varen način (posodobitve stanja se izvajajo v isti transakciji kot posodobitve podatkov).
Če iščete MySQL podvajanje pod CentOS/RHEL 6, sledite tem navodilom Namestite replikacijo MySQL (Master-Slave) na CentOS/RHEL 6
Namestitev MariaDB 10.1 v CentOS/RHEL 7 in Debian 8/9
Naše preskusno okolje sestavljajo naslednji stroji (oba sta CentOS 7):
Mojster: 192.168.0.18. Podrejeni: 192.168.0.19.
Za namestitev najnovejše različice MariaDB bomo morali v njihove strežnike dodati njihova skladišča. Če uporabljate starejšo različico MariaDB recimo 5.5, razmislite o nadgradnji na najnovejšo različico 10.1 z uporabo spodnjega članka.
Nadgradi MariaDB 5,5 na MariaDB 10,1
V CentOS/RHEL
Ustvarite datoteko z imenom MariaDB.repo notri /etc/yum.repos.d z naslednjo vsebino na obeh Mojster in Suženj sistemi:
Seznam skladišč # MariaDB 10.1 CentOS-ustvarjen 23.01.2016 14:16 UTC. # http://mariadb.org/mariadb/repositories/ [mariadb] ime = MariaDB. baseurl = http://yum.mariadb.org/10.1/centos7-amd64. gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB. gpgcheck = 1.
Shranite datoteko in namestite MariaDB na oba strežnika z uporabo yum:
Preverite različico MariaDB na glavnem podrejenem strežniku
Ko namestite MariaDB, zaženite mysql_secure_installation postopku na glavnem in podrejenem, nastavimo vzorčno podatkovno bazo podatkov v glavnem stroju.
Nastavitev vzorčne baze podatkov MySQL na Masteru
Zdaj bomo v glavnem strežniku nastavili datoteko Zaposleni zbirko podatkov iz https://github.com/datacharmer/test_db (ki vsebuje nabor podatkov o 4 milijonov zapisov, razporejenih po šestih tabelah) v dveh preprostih korakih:
Klonirajte skladišče in ga uporabite za uvoz vzorčne zbirke podatkov v namestitev MariaDB:
# git klon https://github.com/datacharmer/test_db. # cd test_db. # mysql
Konfiguriranje strežnika MySQL na sistemu Master
Če želite konfigurirati glavnega, sledite tem korakom:
KORAK 1: Uredite datoteko /etc/my.cnf mapa. Pod [mysqld] razdelku, dodajte naslednje štiri vrstice:
2. KORAK: Prijavite se na strežnik MariaDB kot root, ustvarite podrejenega uporabnika in dodelite potrebna nepovratna sredstva:
MariaDB [(nič)]> CREATE USER 'slave'@'localhost' IDENTIFICIRANO 'SlavePassword'; MariaDB [(nič)]> DODELITEV POMOČI SLOVENJA VKLJUČENO *. * PODJETNIKU IDENTIFIKIRANO z 'SlavePassword' Z MOŽNOSTO DODELE; MariaDB [(nič)]> FLUSH PRIVILEGIJE; MariaDB [(nič)]> UMETNI MIZI Z BRANO KLJUČAVO; MariaDB [(nič)]> POKAŽI STANJE MAJSTORJA;
The zadnji ukaz (POKAŽI STANJE MAJSTORJA) vrne trenutni položaj v binarnem dnevniku (natančne koordinate, ki natančno kažejo, na kateri točki se mora podrejeni podvajati:
Konfigurirajte MySQL Master za replikacijo
3. KORAK: Zaprite poziv MariaDB (z izhod;) in z naslednjim ukazom naredite posnetek baze podatkov zaposlenih. Ko zadeneš Vnesite, boste morali vnesti geslo za root, ki ste ga nastavili prej mysql_secure_installation:
Če želite konfigurirati podrejenega, sledite tem korakom:
KORAK 1: Ustvarite račun za izvajanje nalog podvajanja. Povežite se z lokalnim strežnikom MariaDB z:
# mysql -u koren –p.
in vnesite geslo, ki ste ga nastavili prej.
2. KORAK: Ko ste povezani s strežnikom baz podatkov, ustvarite uporabnika in prazno bazo podatkov ter podelite dovoljenja:
MariaDB [(nič)]> Ustvari zaposlene v podatkovni bazi; MariaDB [(nič)]> DODELITE VSE PRIVILEGIJE zaposlenim.* ZA 'slave'@'' localhost '' Z MOŽNOSTJO GRANT; MariaDB [(nič)]> FLUSH PRIVILEGIJE;
3. KORAK: Zaprite poziv MariaDB in naložite izpis, ustvarjen v glavnem strežniku:
# mysql -u root -p zaposleni
4. KORAK: Uredite datoteko /etc/my.cnf datoteko za dodelitev strežnika ID sužnju pod [mysqld] razdelek. Upoštevajte, da mora biti drugačno celo število kot 1, kot smo jih uporabljali 1 v mojstru:
server_id = 2. replicate-do-db = zaposleni.
Znova zaženite strežnik zbirke podatkov:
# systemctl znova zaženite mariadb.
5. KORAK: Zaženite mysql_upgrade postopek nadgradnje sistemskih tabel (pozvani boste, da vnesete korensko geslo MariaDB):
# mysql_upgrade -u root -p.
6. KORAK: Ko je odlagališče uvoženo v podrejeno napravo, imamo le nekaj korakov za začetek podvajanja. Prijavite se v bazo podatkov in v pozivu MariaDB zaženite naslednje ukaze. Posebno pozornost posvetite MASTER_LOG_FILE in MASTER_LOG_POS spremenljivke, ki se morajo ujemati z vrednostmi, ki jih vrne POKAŽI STANJE MAJSTORJA v 2. KORAKU zgoraj »Konfiguriranje glavnega«.
Preverite podvajanje zbirke podatkov MariaDB MySQL
Kot lahko vidite, podvajanje deluje pravilno od glavnega do pomožnega.
Povzetek
V tem članku smo razložili, kako namestiti najnovejšo različico MariaDB v CentOS/RHEL 7 in Debian 8/9 ter razpravljali o tem, kako z GTID-ji nastaviti replikacijo master-slave. Za več informacij se obrnite na Priročnik za podvajanje MariaDB, in če imate vprašanja ali pripombe, se obrnite na nas prek spodnjega obrazca.