GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare più server MySQL su un sistema usando mysqld_multi

Sono necessari solo pochi passaggi per configurare più server su un sistema. Innanzitutto, il file di configurazione per MySQL dovrà essere modificato. Sarà necessario inserire un gruppo separato di opzioni per ciascun server. Come minimo, a ogni server dovrebbe essere assegnata una porta TCP/IP univoca e un file socket diverso.

I gruppi di server per più server nel file di configurazione sono identificati da un prefisso mysqld seguito da un suffisso numerico. Ad esempio, il primo server potrebbe essere identificato da un'intestazione di gruppo come [mysqld1], potresti iniziare con 0 o un altro numero. Il secondo server potrebbe essere [mysqld2]. I numeri non devono essere sequenziali, di per sé. I numeri possono essere saltati. Tutte le opzioni che possono essere fornite per un gruppo [mysqld] possono essere fornite a qualsiasi server aggiuntivo. Ciò consente di modificare le opzioni del server per soddisfare eventuali requisiti speciali che potrebbero essere necessari per un database. Di seguito sono riportati i contenuti di un /etc/my.cnf file configurato per tre server.

Nota :È estremamente importante notare che ogni istanza dovrebbe avere anche la propria datadir. Come minimo, a ogni server dovrebbe essere assegnata una porta TCP/IP univoca e/o un file socket diverso.
# vi /etc/my.cnf
[mysqld_multi]
mysqld = /usr/local/bin/mysqld_safe

[mysqld0]
port = 3306
socket = /tmp/mysql.sock0
pid-file = /usr/local/mysql/server0/
user = mysql0
datadir = /usr/local/mysql/server0

[mysqld1]
port = 3307
socket = /tmp/mysql.sock1
pid-file = /usr/local/mysql/server1/
user = mysql1
datadir = /usr/local/mysql/server1

[mysqld2]
port = 3308
socket = /tmp/mysql.sock2
pid-file = /usr/local/mysql/server2/
user = mysql2
datadir = /usr/local/mysql/server2

Innanzitutto, nota che non esiste alcun gruppo etichettato [mysqld] . Ciò confonderebbe le cose. In questo file di configurazione, ogni server utilizza una porta diversa. Ciò richiederà modifiche a tutti gli script che accedono al server. La porta dovrà essere fornita in modo che la porta predefinita (3306 ) non viene utilizzato. Il primo server sopra utilizza la porta predefinita. In questo esempio, per ciascun server viene nominato un utente del file system separato. Questo non è necessario. Tuttavia, può essere utile per un migliore controllo della sicurezza. Ovviamente richiederà la creazione di ogni utente di sistema a livello di file system.

L'ultima opzione impostata in ogni gruppo del file di configurazione sopra è la directory dei dati per ogni server. I server non possono condividere la stessa directory di dati. Pertanto, ciò richiederà la creazione di una directory separata sul file system. Assicurati di cambiare la proprietà delle directory di dati al rispettivo utente di sistema (ad esempio, mysql0).

Una volta che il file di configurazione è stato impostato correttamente, gli utenti del sistema creati e le relative directory sono a posto, è possibile avviare i server. Per farlo facilmente, usa mysqld_multi sceneggiatura. Questo script leggerà il file di configurazione di MySQL e cercherà i gruppi di server seguendo la convenzione di denominazione menzionata in precedenza. Per avviare tutti i server, è necessario immettere quanto segue dalla riga di comando:

$ mysqld_multi start

Questa riga avvierà un'istanza separata di mysqld_safe per ogni gruppo di server elencato nel file di configurazione. Per inciso, per utilizzare un file di configurazione speciale per mysqld_multi, basta aggiungere il "–config-file =file opzione ” prima del parametro di avvio. Per arrestare tutti i server, sostituire il parametro start con stop. Per i rapporti sullo stato del server, utilizzare il parametro del rapporto. Per avviare un server specifico, fornire il numero identificativo del server dopo il parametro di avvio. Ad esempio, per arrestare il server etichettato [mysqld2] nel file di configurazione mostrato in precedenza, è necessario inserire quanto segue:

$ mysqld_multi stop 2

Il prefisso mysqld è omesso. È possibile nominare un intervallo di server fornendo il numero del primo server, seguito da un trattino, e quindi il numero dell'ultimo (ad es. 2-5). I server possono essere elencati individualmente separando il loro identificatore con virgole (ad es. 2, 4). Inoltre, è possibile utilizzare una combinazione di entrambi i metodi (ad es. 2, 4-7).

Per un insieme più lungo di esempi su come costruire un file di configurazione, inserisci quanto segue dalla riga di comando:

$ mysqld_multi --example


Linux
  1. Come configurare più siti Web con il server Web Apache

  2. Configura il server MySQL sul sistema operativo Ubuntu

  3. Come configurare Override.conf separato per più istanze MySQL utilizzando Systemd

  4. Come configurare kdump in Oracle Enterprise Linux (OEL 5,6)

  5. Come dividere un file di testo in più file *.txt?

Come configurare il server SFTP su CentOS?

Come configurare un file server di base utilizzando simpleHTTPserver

Come unire più righe in una in un file in Linux

Come montare un filesystem Linux remoto usando SSHFS

Come installare e configurare un server NFS su un sistema Linux

Come installare il server di condivisione file Samba su un sistema Linux