Laboppsett
Master Node - 192.168.43.1. 3
Slaveknute - 192.168.43.252
Trinn 1: Installer MariaDB på både mester- og slaveservere
Til å begynne med må du installere MariaDB på både mesteren og slaven. Så følg trinnene nedenfor:
Først, logg inn på hovedserveren og oppdater systempakkene som vist:
$ SUDO DNF -oppdatering
Etter å ha oppdatert systemet ditt, fortsett nå og installer MariaDB
$ sudo dnf installer mariadb-server
Når installasjonen er vellykket, kan du bekrefte at MariaDB er installert ved å kjøre kommandoen:
$ RPM -QA | Grep Mariadb
For å få mer detaljert informasjon, utfør kommandoen:
$ rpm -qi mariaDB -server
Start nå MariaDB -tjenesten
$ sudo SystemCTL Start MariaDB
I tillegg kan du også gjøre det også mulig.
$ sudo SystemCTL Aktiver MariaDB
For å bekrefte at MARIADB -databasemotoren er i gang, kan du utstede kommandoen:
$ sudo systemctl status mariadb
Perfekt! MariaDB er i gang som vi forventet.
Som det er, er MariaDB ikke sikret, og noen bruker kan logge seg på databasemotoren og ha tilgang til alle databasene og gjøre endringer. Vi ønsker selvfølgelig ikke at det skal skje og sikring av databasen skal være en topp prioritet. Vi trenger derfor å sikre databasemotoren ved å angi et rotpassord. Så kjør kommandoen nedenfor:
$ sudo mysql_secure_installation
Det som følger er en interaktiv ledetekst som krever å angi rotpassordet for databasen og svare på noen få spørsmål.
Som standard kjører MariaDB på port 3306. Hvis du kjører en brannmur, må du tillate denne porten slik at databasemotoren kan være tilgjengelig for eksterne brukere og tjenester.
For å åpne porten på brannmuren, kjør følgende brannmurregel:
$ SUDO FIREWALLD-CMD-ADD-PORT = 3306/TCP-Zone = public-Permanent
For at regelen skal brukes, last inn brannmuren på nytt:
$ sudo Firewalld-CMD-Reload
Med MariaDB med hell installert og sikret på Master Server, gjenta de samme trinnene på slaveserveren.
Trinn 2: Konfigurer MariaDB på masterserveren
Vi må konfigurere MariaDB Daemon slik at vår tiltenkte masterserver fungerer som en server i oppsettet. Så åpne konfigurasjonsfilen /etc/min.CNF
$ sudo vim /etc /min.CNF
Legg til konfigurasjonen nedenfor
[mysqld]Lagre og avslutte konfigurasjonsfilen. For å utføre endringene, start MariaDB -tjenesten på nytt.
$ sudo SystemCTL Restart MariaDB-Server
Trinn 3: Konfigurer slaveserveren
Akkurat som masterserveren, må slaven konfigureres til å fungere som en. Så åpne konfigurasjonsfilen som før:
$ sudo vim /etc /min.CNF
Legg til konfigurasjonen nedenfor
[mysqld]Være opptatt av å gi en annen 'server_id'Fra masterserveren, som er 2 i dette tilfellet. Og akkurat som masterserveren, 'bind_address'Parameter skal peke på slavens IP -adresse.
Lagre og avslutte filen.
Trinn 3: Opprett en replikasjonsbruker i hovedserveren
For å konfigurere slaven for replikering, må vi dra tilbake til hovednoden og opprette en replikasjonsbruker. Logg deg på MariaDB -databasemotoren.
$ mysql -u root -pFørst må du stoppe slavebrukeren.
Mariadb [(ingen)]> stopp slave;Opprett en replikasjonsbruker med kommandoene som er vist:
MariaDB [(Ingen)]> Gi replikasjonslave på *.* Til 'replica_user' @'192.168.43.252 '
Identifisert av 'p@ssword123';
Spørring OK, 0 rader berørt (0.06 sek)
MariaDB [(ingen)]> Flush Privileges;
Spørring OK, 0 rader berørt (0.04 sek)
MariaDB [(Ingen)]> Spyltbord med leselås;
Spørring OK, 0 rader berørt (0.02 sek)
MariaDB [(Ingen)]> Avslutt;
Spørring OK, 0 rader berørt (0.02 sek)
Deretter kan du sjekke at statusen til mesteren ved å løpe:
MariaDB [(Ingen)]> Vis masterstatus \ GLegg nøye merke til verdiene til filnavnet og posisjonen. Disse vil senere bli brukt til å konfigurere slaven for replikering.
Fra utgangen over, oversettes dette til:
Fil: mysql-bin.000001
Posisjon: 1317
Gå ut av MariaDB -motoren og lag en sikkerhetskopi av Master Server som vist:
$ sudo mysqldump -all -databases -u root -p> masterdatabase.SQL
Logg deg tilbake til MariaDB og lås opp tabellene:
MariaDB [(ingen)]> låse opp tabeller;Husk sikkerhetskopien vi opprettet for masterdatabasen? Vi er klare til å kopiere den til slaveserveren. Så kjør kommandoen nedenfor:
$ SCP MasterDatabase.SQL [email protected]:/root/
Trinn 4: Konfigurer slaven for replikasjon
Tilbake på slaveknuten, importerer du backup -filen som vi kopierte fra mesteren til MariaDB -motoren.
$ mysql -u root -p < masterdatabase.sqlOg deretter starte MariaDB -tjenesten på nytt
$ SystemCTL Restart MariaDB
Logg deg på MariaDB -databasemotoren og konfigurer slaven som følger:
Mariadb [(ingen)]> stopp slave; MariaDB [(Ingen)]> Endre master til master_host = '192.168.43.13 ', master_user =' replica_user ',Husk verdiene som vi sa at du bør huske og muligens notere dem når du viser statusen til masterserveren? Disse har endelig blitt definert i Master_log_file og Master_log_pos attributter som sett.
Til slutt, start slaven for å initialisere slaven for å begynne å gjenskape fra mesteren:
MariaDB [(ingen)]> Start slave;Sjekk deretter slavens status
MariaDB [(Ingen)]> Vis slavestatus;Hvis konfigurasjonen ble gjort perfekt, bør du ikke få utdataene nedenfor fri fra feil.
Slaven er nå klar for replikering.
Trinn 5: Testdatabase replikasjon
Til syvende og sist må vi bekrefte om oppsettet vårt fungerer. Så logg inn på MariaDB -forekomst i masteren og lag en testdatabase som vist
MariaDB [(ingen)]> Opprett database replica_db;Bekreft deretter opprettelsen av databasen
MariaDB [(ingen)]> Vis databaser;Gå tilbake til slaveknuten og sjekk om databasen eksisterer.
Perfekt! Oppsettet vårt fungerer! Alle de påfølgende databasene som er opprettet i masteren, blir automatisk replikert og endres synkronisert på slaveknuten. Og dette bringer oss til slutten av denne guiden.