Kjører flere MariaDB -forekomster på Ubuntu Topp 10.Topp 10 LTS

Kjører flere MariaDB -forekomster på Ubuntu Topp 10.Topp 10 LTS
Noen ganger kan det hende du må kjøre flere forekomster av MariaDB -databaseserverprogramvaren på samme datamaskin/server. MariaDB har et offisielt verktøy mysqld_multi For å kjøre flere forekomster av MariaDB -databaseserverprogramvaren på samme datamaskin/server.

I denne artikkelen skal jeg vise deg hvordan du kjører flere MARIADB -databaseserverforekomster på samme datamaskin/server som kjører Ubuntu 20.04 LTS -operativsystem. Så la oss komme i gang.

Installere MARIADB -databaseserver:

Oppdater først Apt Package Repository Cache med følgende kommando:

$ sudo apt oppdatering


Du kan installere MariaDB -databaseserveren med følgende kommando:

$ sudo apt installer MariaDB-klient MariaDB-server


For å bekrefte installasjonen, trykk Y Og trykk deretter .


MariaDB blir installert. Det kan ta en stund å fullføre.


På dette tidspunktet bør MariaDB installeres.

Stopper MariaDB -databasetjenesten:

Du kan sjekke om mysql Databasetjeneste kjører med følgende kommando:

$ sudo systemctl status mysql


De mysql Databasetjeneste skal kjøres som standard som du kan se på skjermdumpen nedenfor.


Siden vi ønsker å kjøre flere forekomster av MariaDB -databaseserverprogramvaren, trenger vi ikke standard mysql Systemd -tjeneste for å kjøre. Vi kjører MariaDB -databaseforekomstene manuelt.

Så stopp mysql Databasetjeneste med følgende kommando:

$ sudo systemctl stopp mysql


De mysql Databasetjeneste skal stoppes.

$ sudo systemctl status mysql


Vi vil også fjerne mysql Databasetjeneste fra systemstart av Ubuntu 20.04 LTS. Slik at det ikke starter automatisk på oppstart.

Å fjerne mysql Tjeneste fra systemoppstarten, kjør følgende kommando:

$ sudo systemctl deaktiver mysql

Konfigurere MARIADB for å kjøre flere databaseforekomster:

Alle MARIADB -databasekonfigurasjonsfilene er i /etc/mysql/mariadb.konf.d/ katalog.

For å gjøre det lettere å jobbe med MariaDB -konfigurasjonsfilene, navigerer du til /etc/mysql/mariadb.konf.d/ Katalog som følger:

$ cd/etc/mysql/mariaDB.konf.d/


Vi trenger ikke standard MariaDB -konfigurasjonsfilen 50-server.CNF fil lenger.

For å sikre at denne konfigurasjonsfilen ikke blir lest av MariaDB -serveren, må du gi nytt navn til MARIADB -konfigurasjonsfilen 50-server.CNF til 50-server.CNF.Sikkerhetskopi med følgende kommando:

$ sudo mv -v 50 -server.CNF 50-server.CNF.Sikkerhetskopi


Opprett en ny MariaDB -konfigurasjonsfil 50-server-multi.CNF med følgende kommando:

$ sudo nano 50-server-multi.CNF


Skriv inn følgende linjer i 50-server-multi.CNF fil.

[mysqld_multi]
mysqld =/usr/bin/mysqld_safe
mysqladmin =/usr/bin/mysqladmin
Log =/var/log/mysql/mysqld_multi.Logg
bruker = multi_admin
Passord = hemmelighet

Når du er ferdig, trykk + X etterfulgt av Y og For å redde 50-server-multi.CNF fil.


Her blir MariaDB -serverloggene lagret i filen /var/log/mysql/mysqld_multi.Logg.

De mysqld_multi Admin brukernavn vil være multi_admin Og passordet vil være hemmelig. Dette er nødvendig for å tillate SKRU AV Tillatelse til MariaDB -databaseserverforekomstene.


I denne artikkelen vil jeg kjøre 3 MariaDB -databaseforekomster for demonstrasjonen. Hver av MariaDB -databaseforekomstene vil ha sin egen konfigurasjonsfil.

Opprett en konfigurasjonsfil 50-server1.CNF For den første MariaDB -databaseserveren Instace som følger:

$ sudo nano 50-server1.CNF


Skriv inn følgende linjer i 50-server1.CNF fil.

[mysqld1]
Bruker = MySQL
pid-fil =/run/mysqld/mysqld1.PID
socket =/run/mysqld/mysqld1.sokk
Basertir = /usr
Datadir =/var/lib/mysql1
tmpdir = /tmp
LC-Messages-Dir =/usr/share/mysql
Bind-adresse = 127.0.0.1
query_cache_size = 16m
log_error =/var/log/mysql/mysqld1_error.Logg
utløp_logs_days = 10
karakter-set-server = utf8mb4
COLLATION-SERVER = UTF8MB4_GENERAL_CI
Port = 20101

Når du er ferdig, trykk + X etterfulgt av Y og For å redde 50-server1.CNF fil.


Her, mysqld1 er forekomstnavnet. For andre omgang vil det være mysqld2 og så videre.


Stien til PID -filen vil være /løp/mysqld/mysqld1.PID og sokkelfil vil være /løp/mysqld/mysqld1.sokk for mysqld1 forekomst. Disse vil være forskjellige for hver av MariaDB -forekomstene.


Datakatalogen for mysqld1 forekomst vil være /var/lib/mysql1. Det vil være annerledes for hver av MariaDB -forekomstene.


Feilloggfilbanen for mysqld1 forekomst vil være /var/log/mysql/mysqld1_error.Logg. Det vil være annerledes for hver av MariaDB -forekomstene.


Porten til mysqld1 forekomst vil være 20101. Det vil være annerledes for hver av MariaDB -forekomstene.


Konfigurasjonsfilen for den andre og den tredje MariaDB -forekomsten vil være lik den første MariaDB -forekomsten. Så vi kan bare kopiere den første MARIADB -forekomstkonfigurasjonsfilen 50-server1.CNF og gjør små justeringer.

Kopier 50-server1.CNF For å opprette en ny konfigurasjonsfil 50-server2.CNF For den andre MariaDB -forekomsten som følger:

$ sudo cp -v 50 -server1.CNF 50-server2.CNF


På samme måte, kopier 50-server1.CNF For å opprette en ny konfigurasjonsfil 50-server3.CNF For den tredje MariaDB -forekomsten som følger:

$ sudo cp -v 50 -server1.CNF 50-server2.CNF


For å gjøre justeringer av den andre MARIADB -serverforekomstkonfigurasjonsfilen 50-server2.CNF, Åpne den med Nano Text Editor som følger:

$ sudo nano 50-server2.CNF


Juster de merkede delene av konfigurasjonsfilen 50-server2.CNF.

Når du er ferdig, trykk + X etterfulgt av Y og For å redde 50-server2.CNF fil.


For å gjøre justeringer av den tredje MARIADB -serverforekomstkonfigurasjonsfilen 50-server3.CNF, Åpne den med Nano Text Editor som følger:

$ sudo nano 50-server3.CNF


Juster de merkede delene av konfigurasjonsfilen 50-server3.CNF.

Når du er ferdig, trykk + X etterfulgt av Y og For å redde 50-server3.CNF fil.

Opprette MariaDB -loggfilene:

Lag en loggfil mysqld_multi.Logg i /var/log/mysql/ katalog for mysqld_multi program som følger:

$ sudo touch/var/log/mysql/mysqld_multi.Logg


Sett eieren (til mysql) og gruppe (til adm) av mysqld_multi.Logg fil med følgende kommando:

$ sudo chown -v mysql: adm/var/log/mysql/mysqld_multi.Logg


Angi riktig filtillatelser til mysqld_multi.Logg fil med følgende kommando:

$ sudo chmod -v u = rw, g = rw, o =/var/log/mysql/mysqld_multi.Logg


Lag feilloggfiler for mysqld1, mysqld2, og mysqld3 MariaDB -forekomster med følgende kommando:

$ sudo touch/var/log/mysql/mysqld 1… 3 _error.Logg


Endre eieren (til mysql) og gruppe (til adm) av feilloggfilene til mysqld1, mysqld2, og mysqld3 MariaDB -forekomster med følgende kommando:

$ sudo chown -v mysql: adm/var/log/mysql/mysqld 1… 3 _error.Logg


Angi riktig filtillatelser til feilloggfilene til mysqld1, mysqld2, og mysqld3 MariaDB -forekomster med følgende kommando:

$ sudo chmod -v u = rw, g = rw, o =/var/log/mysql/mysqld 1… 3 _error.Logg

Opprette og utarbeide MariaDB -datakatalogene:

Lag MariaDB -datakataloger for mysqld1, mysqld2, og mysqld3 MariaDB -forekomster med følgende kommando:

$ sudo mkdir -v/var/lib/mysql 1… 3


Endre eieren og gruppen av hver av datakatalogene til mysql med følgende kommando:

$ sudo chown -v mysql: mysql/var/lib/mysql 1… 3


Sett riktige tillatelser til hver av datakatalogene med følgende kommando:

$ sudo chmod -v u = rwx, g = rx, o = rx/var/lib/mysql 1 ... 3


Når eieren, gruppen og filtillatelsene er riktig angitt, skal alle MARIADB -datakatalogene se ut som vist på skjermdumpen nedenfor:

$ ls -lhd/var/lib/mysql*


Nå må du utarbeide MariaDB -datakatalogene. For å gjøre det, kan du bruke mysql_install_db kommando.

For å utarbeide MariaDB -datakatalogen /var/lib/mysql1 for mysqld1 Forekomst, kjør følgende kommando:

$ sudo mysql_install_db --bruker = mysql --datadir =/var/lib/mysql1


Datakatalogen /var/lib/mysql1 skal være klar for mysqld1 forekomst.


På samme måte, utarbeide MariaDB -datakatalogen /var/lib/mysql2 for mysqld2 forekomst med følgende kommando:

$ sudo mysql_install_db --bruker = mysql --datadir =/var/lib/mysql2


Datakatalogen /var/lib/mysql2 skal være klar for mysqld2 forekomst.


Forbered også MariaDB -datakatalogen /var/lib/mysql3 for mysqld3 forekomst med følgende kommando:

$ sudo mysql_install_db --bruker = mysql --datadir =/var/lib/mysql3


Datakatalogen /var/lib/mysql3 skal være klar for mysqld3 forekomst.

Kjører flere MariaDB -forekomster:

Nå kan du kjøre flere MariaDB -forekomster ved å bruke mysqld_multi program.

Du kan sjekke om MariaDB -forekomstene mysqld1, mysqld2, og mysqld3 kjører med følgende kommando:

$ sudo mysqld_multi rapport


Som du kan se, kjører ikke MariaDB -forekomstene for øyeblikket.


Du kan starte alle MariaDB -databaseserverforekomstene med følgende kommando:

$ sudo mysqld_multi start


Som du kan se, forekomster fra MariaDB -databaseserveren mysqld1, mysqld2, og mysqld3 løper.

$ sudo mysqld_multi rapport


Som du kan se, MariaDB -databaseportene 20101 (til mysqld1), 20102 (til mysqld2), og 20103 (til mysqld3) lytter. Så MariaDB -databaseforekomstene kjører perfekt.

GJENNOMGANG TILDELING TILLATT TIL MARIADB -databaseforekomstene:

mysqld_multi trenger å ha SKRU AV Tillatelse til å kunne stoppe MariaDB -databaseforekomstene. Å gi nedleggelses tillatelse til mysqld_multi, Du må logge inn på hver av MariaDB -databaseforekomstene, opprette en multi_admin Bruker (med påloggingspassordet hemmelig), og gi SKRU AV tillatelse til multi_admin bruker.

Først, logg inn på den første MariaDB -databaseserverforekomsten mysqld1 med følgende kommando:

$ sudo mysql -s/run/mysqld/mysqld1.sokk -u rot


Du skal være logget inn.


For å opprette en ny bruker multi_admin med passordet hemmelig og gi SKRU AV tillatelse til multi_admin Bruker, kjør følgende SQL -setning:

MariaDB [(ingen)]> Tilskuddsavslutning på *.* Til 'multi_admin'@'localhost' identifisert av 'hemmelighet';


Avslutt ut av MariaDB -databasekonsollen med følgende kommando:

MariaDB [(Ingen)]> Avslutt


På samme måte kan du logge på den andre MariaDB -databaseserverforekomsten mysqld2 med følgende kommando:

$ sudo mysql -s/run/mysqld/mysqld2.sokk -u rot


Opprett en ny bruker multi_admin med passordet hemmelig og gi SKRU AV tillatelse til multi_admin Bruker med følgende SQL -setning:

MariaDB [(ingen)]> Tilskuddsavslutning på *.* Til 'multi_admin'@'localhost' identifisert av 'hemmelighet';


Avslutt ut av MariaDB -databasekonsollen med følgende kommando:

MariaDB [(Ingen)]> Avslutt


Logg også på den tredje MariaDB -databaseserverforekomsten mysqld3 med følgende kommando:

$ sudo mysql -s/run/mysqld/mysqld3.sokk -u rot


Opprett en ny bruker multi_admin med passordet hemmelig og gi SKRU AV tillatelse til multi_admin Bruker med følgende SQL -setning:

MariaDB [(ingen)]> Tilskuddsavslutning på *.* Til 'multi_admin'@'localhost' identifisert av 'hemmelighet';


Avslutt ut av MariaDB -databasekonsollen med følgende kommando:

MariaDB [(Ingen)]> Avslutt


La oss se om mysqld_multi kan stoppe MariaDB -databaseserverforekomstene.

Som du kan se, kjører MariaDB -databaseserverforekomstene.

$ sudo mysqld_multi rapport


For å stoppe MariaDB -databaseserverforekomstene, kjør følgende kommando:

$ sudo mysqld_multi stopp


Som du kan se, kjører ikke MariaDB -databaseserverforekomstene lenger.

$ sudo mysqld_multi rapport


MariaDB -databaseserverportene 20101 (til mysqld1), 20102 (til mysqld2), og 20103 (til mysqld3) lytter ikke så godt.

Start MariaDB -databaseserverforekomster på systemstart:

Du vil ikke starte MariaDB -databaseserverforekomstene manuelt hver gang serveren din starter. For automatisk å starte MariaDB -databaseserverforekomstene, kan du legge til startkommandoen som en cronjob.

For å legge til en hvilken som helst cronjob, må du endre crontab -filen.

For å endre crontab -filen, kjør følgende kommando:

$ sudo crontab -e


trykk 1 (For å velge Nano Text Editor) og deretter trykke på .


Crontab -filen skal åpnes. Legg til linjen som merket i skjermbildet nedenfor.

Når du er ferdig, trykk + X etterfulgt av Y og For å lagre crontab -filen.


For at endringene skal tre i kraft, start datamaskinen på nytt med følgende kommando:

$ sudo omstart


Når datamaskinen støvler, bør du se at alle MariaDB -databaseforekomstene kjører.

$ sudo mysqld_multi rapport


Som du kan se, MariaDB -databaseportene 20101 (til mysqld1), 20102 (til mysqld2), og 20103 (til mysqld3) lytter. Så MariaDB -databaseforekomstene kjører perfekt.

Konklusjon:

I denne artikkelen har jeg vist deg hvordan du kjører flere forekomster av MariaDB -databaseserveren på samme datamaskin/server ved hjelp av mysqld_multi program. Denne artikkelen skal hjelpe deg med å sette opp flere forekomster av MariaDB -databaseserveren på samme Ubuntu 20.04 LTS -datamaskin/server.