Esecuzione di più istanze MariaDB sulla top 10 di Ubuntu.Top 10 LTS

Esecuzione di più istanze MariaDB sulla top 10 di Ubuntu.Top 10 LTS
A volte potrebbe essere necessario eseguire più istanze del software del server di database MariaDB sullo stesso computer/server. Mariadb ha uno strumento ufficiale mysqld_multi Per eseguire più istanze del software del server di database MARIADB sullo stesso computer/server.

In questo articolo, ti mostrerò come eseguire più istanze del server di database MARIADB sullo stesso computer/server che esegue Ubuntu 20.04 LTS Sistema operativo. Quindi iniziamo.

Installazione del server di database MariaDB:

Innanzitutto, aggiorna la cache del repository del pacchetto APT con il seguente comando:

$ sudo apt update


È possibile installare il server di database MARIADB con il seguente comando:

$ sudo apt install mariadb-client mariadb-server


Per confermare l'installazione, premere Y e poi premere .


MariaDB è in fase di installazione. Potrebbe volerci un po 'di tempo per completare.


A questo punto, MariaDB dovrebbe essere installato.

Fermare il servizio di database MariaDB:

Puoi controllare se il mysql Il servizio di database è in esecuzione con il seguente comando:

$ sudo systemctl status mysql


IL mysql Il servizio di database dovrebbe essere in esecuzione per impostazione predefinita come puoi vedere nello screenshot seguente.


Dato che vogliamo eseguire più istanze del software MariaDB Database Server, non abbiamo bisogno del valore predefinito mysql Sistemad servizio da eseguire. Esegui manualmente le istanze del database MariaDB.

Quindi, ferma il mysql Servizio di database con il seguente comando:

$ sudo systemctl ferma mysql


IL mysql Il servizio di database deve essere interrotto.

$ sudo systemctl status mysql


Vogliamo anche rimuovere il mysql Servizio di database dall'avvio del sistema di Ubuntu 20.04 LTS. In modo che non si avvii automaticamente all'avvio.

Per rimuovere il mysql Servizio dall'avvio del sistema, eseguire il seguente comando:

$ sudo systemctl disabilita mysql

Configurazione di MARIADB per l'esecuzione di più istanze di database:

Tutti i file di configurazione del database MARIADB si trovano in /etc/mysql/mariadb.conf.D/ directory.

Per facilitare il lavoro con i file di configurazione MARIADB, vai a /etc/mysql/mariadb.conf.D/ directory come segue:

$ cd/etc/mysql/mariadb.conf.D/


Non abbiamo bisogno del file di configurazione MARIADB predefinito 50 server.Cnf file più.

Per assicurarsi che questo file di configurazione non venga letto dal server MariaDB, rinominare il file di configurazione MARIADB principale 50 server.Cnf A 50 server.Cnf.backup con il seguente comando:

$ sudo mv -v 50 server.CNF 50-Server.Cnf.backup


Crea un nuovo file di configurazione MariaDB 50-server-Multi.Cnf con il seguente comando:

$ sudo nano 50-server-multi.Cnf


Digitare le seguenti righe in 50-server-Multi.Cnf file.

[mysqld_multi]
mysqld =/usr/bin/mysqld_safe
mysqladmin =/usr/bin/mysqladmin
log =/var/log/mysql/mysqld_multi.tronco d'albero
utente = multi_admin
password = segreto

Una volta che hai finito, premere + X seguito da Y E per salvare il 50-server-Multi.Cnf file.


Qui, i registri del server MariaDB verranno archiviati nel file /var/log/mysql/mysqld_multi.tronco d'albero.

IL mysqld_multi Il nome utente dell'amministratore sarà multi_admin E la password sarà segreto. Questo è necessario per consentire il FERMARE autorizzazione alle istanze del server di database MariaDB.


In questo articolo, eseguirò 3 istanze di database MARIADB per la dimostrazione. Ciascuna delle istanze del database MariaDB avrà il proprio file di configurazione.

Crea un file di configurazione 50-Server1.Cnf Per il primo server di database MariaDB Instace come segue:

$ sudo nano 50-server1.Cnf


Digitare le seguenti righe in 50-Server1.Cnf file.

[mysqld1]
utente = mysql
pid-file =/run/mysqld/mysqld1.pid
socket =/run/mysqld/mysqld1.calzino
Basator = /usr
Datadir =/var/lib/mysql1
tmpdir = /tmp
lc-messages-dir =/usr/share/mysql
Bind-Address = 127.0.0.1
query_cache_size = 16m
log_error =/var/log/mysql/mysqld1_error.tronco d'albero
scade_logs_days = 10
caratteri-set-server = utf8mb4
COLLAZIONE-SERVER = UTF8MB4_GENERAL_CI
Porta = 20101

Una volta che hai finito, premere + X seguito da Y E per salvare il 50-Server1.Cnf file.


Qui, mysqld1 è il nome dell'istanza. Per la seconda istanza, sarà mysqld2 e così via.


Il percorso del file PID sarà /run/mysqld/mysqld1.pid e il file socket sarà /run/mysqld/mysqld1.calzino per il mysqld1 esempio. Questi saranno diversi per ciascuna delle istanze MARIADB.


La directory dei dati per il file mysqld1 L'istanza sarà /var/lib/mysql1. Sarà diverso per ciascuna delle istanze MariaDB.


Il percorso del file di registro di errore per mysqld1 L'istanza sarà /var/log/mysql/mysqld1_error.tronco d'albero. Sarà diverso per ciascuna delle istanze MariaDB.


Il porto del mysqld1 L'istanza sarà 20101. Sarà diverso per ciascuna delle istanze MariaDB.


Il file di configurazione per il secondo e le terze istanze MARIADB sarà simile alla prima istanza MariaDB. Quindi, possiamo semplicemente copiare il primo file di configurazione dell'istanza MARIADB 50-Server1.Cnf e apportare pochi regolazioni.

Copia il 50-Server1.Cnf Per creare un nuovo file di configurazione 50-Server2.Cnf Per la seconda istanza MariaDB come segue:

$ sudo cp -v 50 -server1.CNF 50-Server2.Cnf


Allo stesso modo, copia il 50-Server1.Cnf Per creare un nuovo file di configurazione 50-Server3.Cnf Per la terza istanza MariaDB come segue:

$ sudo cp -v 50 -server1.CNF 50-Server2.Cnf


Per apportare le regolazioni al secondo file di configurazione dell'istanza del server MARIADB 50-Server2.Cnf, aprilo con il nano Editor di testo come segue:

$ sudo nano 50-server2.Cnf


Regola le sezioni contrassegnate del file di configurazione 50-Server2.Cnf.

Una volta che hai finito, premere + X seguito da Y E per salvare il 50-Server2.Cnf file.


Per apportare le regolazioni al terzo file di configurazione dell'istanza del server MARIADB 50-Server3.Cnf, aprilo con il nano Editor di testo come segue:

$ sudo nano 50-server3.Cnf


Regola le sezioni contrassegnate del file di configurazione 50-Server3.Cnf.

Una volta che hai finito, premere + X seguito da Y E per salvare il 50-Server3.Cnf file.

Creazione dei file di registro MariaDB:

Crea un file di registro mysqld_multi.tronco d'albero nel /var/log/mysql/ directory per il mysqld_multi programma come segue:

$ sudo touch/var/log/mysql/mysqld_multi.tronco d'albero


Imposta il proprietario (a mysql) e gruppo (a Adm) del mysqld_multi.tronco d'albero file con il seguente comando:

$ sudo chown -v mysql: adm/var/log/mysql/mysqld_multi.tronco d'albero


Impostare le autorizzazioni del file corrette su mysqld_multi.tronco d'albero file con il seguente comando:

$ sudo chmod -v u = rw, g = rw, o =/var/log/mysql/mysqld_multi.tronco d'albero


Crea file di registro degli errori per il file mysqld1, mysqld2, E mysqld3 Mariadb istanze con il seguente comando:

$ sudo touch/var/log/mysql/mysqld 1… 3 _error.tronco d'albero


Cambiare il proprietario (a mysql) e gruppo (a Adm) dei file di registro degli errori del mysqld1, mysqld2, E mysqld3 Mariadb istanze con il seguente comando:

$ sudo chown -v mysql: adm/var/log/mysql/mysqld 1… 3 _error.tronco d'albero


Impostare le autorizzazioni del file corrette sui file del registro di errore del mysqld1, mysqld2, E mysqld3 Mariadb istanze con il seguente comando:

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

Creazione e preparazione delle directory dei dati MariaDB:

Crea directory di dati MariaDB per mysqld1, mysqld2, e il mysqld3 Mariadb istanze con il seguente comando:

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


Modificare il proprietario e il gruppo di ciascuna delle directory di dati in mysql con il seguente comando:

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


Impostare le autorizzazioni corrette su ciascuna delle directory dei dati con il seguente comando:

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


Una volta impostate correttamente le autorizzazioni del proprietario, del gruppo e dei file, tutte le directory di dati MARIADB dovrebbero apparire come mostrato nello screenshot seguente:

$ ls -lhd/var/lib/mysql*


Ora, devi preparare le directory dei dati MARIADB. Per fare ciò, puoi usare il mysql_install_db comando.

Per preparare la directory dei dati MariaDB /var/lib/mysql1 per il mysqld1 istanza, eseguire il seguente comando:

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


La directory dei dati /var/lib/mysql1 dovrebbe essere pronto per il mysqld1 esempio.


Allo stesso modo, preparare la directory dei dati MARIADB /var/lib/mysql2 per il mysqld2 istanza con il seguente comando:

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


La directory dei dati /var/lib/mysql2 dovrebbe essere pronto per il mysqld2 esempio.


Inoltre, preparare la directory dei dati MariaDB /var/lib/mysql3 per il mysqld3 istanza con il seguente comando:

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


La directory dei dati /var/lib/mysql3 dovrebbe essere pronto per il mysqld3 esempio.

Esecuzione di più istanze MariaDB:

Ora puoi eseguire più istanze MariaDB utilizzando il mysqld_multi programma.

Puoi verificare se le istanze MariaDB mysqld1, mysqld2, E mysqld3 è in esecuzione con il seguente comando:

$ sudo mysqld_multi report


Come puoi vedere, le istanze MariaDB non funzionano al momento.


È possibile avviare tutte le istanze del server di database MARIADB con il seguente comando:

$ sudo mysqld_multi inizia


Come puoi vedere, le istanze del server di database MariaDB mysqld1, mysqld2, E mysqld3 stanno correndo.

$ sudo mysqld_multi report


Come puoi vedere, le porte del database MariaDB 20101 (per mysqld1), 20102 (per mysqld2), E 20103 (per mysqld3) stanno ascoltando. Quindi, le istanze del database MariaDB sono in esecuzione perfettamente.

Concedere l'autorizzazione di spegnimento alle istanze del database MARIADB:

mysqld_multi deve avere il FERMARE autorizzazione per poter fermare le istanze del database MARIADB. Concedere l'autorizzazione di arresto a mysqld_multi, È necessario accedere a ciascuna delle istanze del database MARIADB, creare un multi_admin utente (con la password di accesso segreto) e concedere il FERMARE permesso al multi_admin utente.

Innanzitutto, accedi alla prima istanza del server di database MARIADB mysqld1 con il seguente comando:

$ sudo mysql -s/run/mysqld/mysqld1.calzino -u radice


Dovresti essere effettuato.


Per creare un nuovo utente multi_admin con la password segreto e concedere il FERMARE permesso al multi_admin utente, eseguire la seguente istruzione SQL:

MariaDB [(Nessuno)]> Shutdown Grant su *.* A 'multi_admin'@'localhost' identificato da 'segreto';


Esci dalla console del database MariaDB con il seguente comando:

MariaDB [(Nessuno)]> uscita


Allo stesso modo, accedi alla seconda istanza del server di database MARIADB mysqld2 con il seguente comando:

$ sudo mysql -s/run/mysqld/mysqld2.calzino -u radice


Crea un nuovo utente multi_admin con la password segreto e concedere il FERMARE permesso al multi_admin utente con la seguente istruzione SQL:

MariaDB [(Nessuno)]> Shutdown Grant su *.* A 'multi_admin'@'localhost' identificato da 'segreto';


Esci dalla console del database MariaDB con il seguente comando:

MariaDB [(Nessuno)]> uscita


Inoltre, accedi alla terza istanza del server di database MARIADB mysqld3 con il seguente comando:

$ sudo mysql -s/run/mysqld/mysqld3.calzino -u radice


Crea un nuovo utente multi_admin con la password segreto e concedere il FERMARE permesso al multi_admin utente con la seguente istruzione SQL:

MariaDB [(Nessuno)]> Shutdown Grant su *.* A 'multi_admin'@'localhost' identificato da 'segreto';


Esci dalla console del database MariaDB con il seguente comando:

MariaDB [(Nessuno)]> uscita


Vediamo se mysqld_multi può fermare le istanze del server del database MariaDB.

Come puoi vedere, le istanze del server di database MARIADB sono in esecuzione.

$ sudo mysqld_multi report


Per interrompere le istanze del server del database MariaDB, eseguire il comando seguente:

$ sudo mysqld_multi stop


Come puoi vedere, le istanze del server di database MARIADB non sono più in esecuzione.

$ sudo mysqld_multi report


Le porte del server di database MariaDB 20101 (per mysqld1), 20102 (per mysqld2), E 20103 (per mysqld3) non stanno ascoltando anche.

Avvio di istanze del server del database MARIADB su ATTAND SYSTEM:

Non vuoi avviare manualmente le istanze del server del database MariaDB ogni volta che il tuo server si stiva. Per avviare automaticamente le istanze del server di database MARIADB, è possibile aggiungere il comando iniziale come Cronjob.

Per aggiungere qualsiasi cronjob, è necessario modificare il file crontab.

Per modificare il file Crrontab, eseguire il comando seguente:

$ sudo crontab -e


Premere 1 (per selezionare l'editor di testo nano) e quindi premere .


Il file crontab dovrebbe essere aperto. Aggiungi la linea come contrassegnato nello screenshot seguente.

Una volta che hai finito, premere + X seguito da Y E Per salvare il file crontab.


Per avere effetto le modifiche, riavviare il computer con il seguente comando:

$ sudo riavvia


Una volta che il tuo computer si avvia, dovresti vedere che tutte le istanze del database MARIADB sono in esecuzione.

$ sudo mysqld_multi report


Come puoi vedere, le porte del database MariaDB 20101 (per mysqld1), 20102 (per mysqld2), E 20103 (per mysqld3) stanno ascoltando. Quindi, le istanze del database MariaDB sono in esecuzione perfettamente.

Conclusione:

In questo articolo, ti ho mostrato come eseguire più istanze del server di database MariaDB sullo stesso computer/server utilizzando il mysqld_multi programma. Questo articolo dovrebbe aiutarti a impostare più istanze del server di database MariaDB sullo stesso Ubuntu 20.04 LTS Computer/server.