Ti mostreremo come configurare MySQL Cluster su Ubuntu. Il cluster MySQL NDB integra il server MySQL standard con un motore di archiviazione cluster in memoria chiamato NDB (Network DataBase). Utilizzeremo un totale di 4 server virtuali, uno per la gestione, un nodo SQL e due nodi dati:
- 172.16.1.1 – gestione VPS
- 172.16.1.2 – SQL VPS
- 172.16.1.3 – dati1 VPS
- 172.16.1.4 – data2 VPS
1. Installa e configura MySQL Cluster sul Management VPS
Scarica l'ultima versione di MySQL Cluster disponibile su http://dev.mysql.com/downloads/cluster/ in una directory del tuo server virtuale ed estraila usando i seguenti comandi:
cd /opt/ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz -O mysql-cluster.tar.gz tar -xvzf mysql-cluster.tar.gz -C /opt/ mv mysql-cluster-* mysql
Esegui i seguenti comandi:
cd /opt/mysql/ cp bin/ndb_mgm* /usr/local/bin/ chmod 755 /usr/local/bin/ndb_mgm*
Crea una directory denominata "mysql-cluster"
mkdir -p /var/lib/mysql-cluster/
Quindi, crea una nuova configurazione denominata "config.ini":
vi /var/lib/mysql-cluster/config.ini
aggiungi le seguenti righe:
[ndbd default] NoOfReplicas=2 # Memory to allocate for data storage DataMemory=2G # Memory to allocate for index storage IndexMemory=512M [mysqld default] [ndb_mgmd default] [tcp default] # Management VPS [ndb_mgmd] # Enter the hostname or IP address of the Management VPS hostname=172.16.1.1 # SQL VPS [mysqld] # Enter the hostname or IP address of the SQL VPS hostname=172.16.1.2 # Data1 VPS [ndbd] # Enter the hostname or IP address of the Data1 VPS hostname=172.16.1.3 DataDir= /var/lib/mysql-cluster # Data2 VPS [ndbd] # Enter the hostname or IP address of the Data2 VPS hostname=172.16.1.4 DataDir=/var/lib/mysql-cluster
Non dimenticare di modificare i nomi host/gli indirizzi IP in base ai nomi host/indirizzi IP del tuo server effettivo.
2. Installa e configura MySQL Cluster su SQL VPS
Controlla se ci sono pacchetti MySQL già installati:
dpkg -l | grep mysql rc libmysqlclient18:amd64 5.5.49-0ubuntu0.14.04.1 amd64 MySQL database client library ii mysql-client 5.7.16-0ubuntu0.16.04.1 all MySQL database client (metapackage depending on the latest version) ii mysql-client-5.7 5.7.16-0ubuntu0.16.04.1 amd64 MySQL database client binaries ii mysql-client-core-5.7 5.7.16-0ubuntu0.16.04.1 amd64 MySQL database core client binaries ii mysql-common 5.7.16-0ubuntu0.16.04.1 all MySQL database common files, e.g. /etc/mysql/my.cnf ii mysql-server 5.7.16-0ubuntu0.16.04.1 all MySQL database server (metapackage depending on the latest version) rc mysql-server-5.5 5.5.49-0ubuntu0.14.04.1 amd64 MySQL database server binaries and system database setup ii mysql-server-5.7 5.7.13-0ubuntu0.16.04.2 amd64 MySQL database server binaries and system database setup ii mysql-server-core-5.7 5.7.13-0ubuntu0.16.04.2 amd64 MySQL database server binaries
Rimuovi questi pacchetti e le relative configurazioni utilizzando:
apt-get purge mysql-c* mysql-s*
Oppure, rimuovi i pacchetti e i file di configurazione elencati da 'dpkg -l | grep mysql' comando sopra usando:
apt-get purge mysql-client mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.5 mysql-server-5.7 mysql-server-core-5.7 libmysqlclient18
Scarica l'ultima versione di MySQL Cluster disponibile su "http://dev.mysql.com/downloads/cluster/" nella directory opt del tuo server virtuale ed estraila utilizzando i seguenti comandi:
cd /opt/ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz -O mysql-cluster.tar.gz tar -xvzf mysql-cluster.tar.gz -C /opt/ Run the following commands:
mv mysql-cluster-* mysql mv mysql /usr/local/ cd /usr/local/mysql/ mv bin/* /usr/local/bin/ rm -rf bin/ ln -s /usr/local/bin /usr/local/mysql/ cp support-files/mysql.server /etc/init.d/mysql systemctl enable mysql mysqld --initialize chown -R root:mysql /usr/local/mysql/ chown -R mysql /usr/local/mysql/data/
Modifica il file di configurazione MySQL (/etc/my.cnf):
vi /etc/my.cnf
aggiungi le seguenti righe:
[mysqld] datadir=/usr/local/mysql/data socket=/tmp/mysql.sock user=mysql ndbcluster ndb-connectstring=172.16.1.1 [mysql_cluster] ndb-connectstring=172.16.1.1 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
Accedi al VPS di gestione tramite SSH ed esegui il seguente comando:
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/
Per configurare ndb_mgmd per l'avvio all'avvio, aggiungi il seguente comando a '/etc/rc.local':
vi /etc/rc.local
e aggiungi:
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/
prima della riga "exit 0" e salva il file.
Avvia il servizio MySQL su SQL VPS:
service mysql start
Per migliorare la sicurezza della tua installazione di MySQL, esegui:
/usr/local/mysql/bin/mysql_secure_installation
3. Installa e configura MySQL Cluster sui Data VPS
Controlla se ci sono pacchetti MySQL già installati usando:
dpkg -l | grep mysql
Rimuovili, inclusi i file di configurazione:
apt-get purge mysql-client mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.5 mysql-server-5.7 mysql-server-core-5.7 libmysqlclient18
Scarica ed estrai l'ultima versione di MySQL Cluster nella directory opt sul data1 VPS:
cd /opt/ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz -O mysql-cluster.tar.gz tar -xvzf mysql-cluster.tar.gz -C /opt/
Esegui i seguenti comandi:
mv mysql-cluster-* mysql mv mysql /usr/local/ chown -R root:mysql /usr/local/mysql/ cd /usr/local/mysql/ mv bin/* /usr/local/bin/ rm -rf bin/ ln -s /usr/local/bin /usr/local/mysql/
Modifica il file di configurazione MySQL:
vi /etc/my.cnf
aggiungi le seguenti righe:
[mysqld] datadir=/usr/local/mysql/data socket=/tmp/mysql.sock user=mysql ndbcluster ndb-connectstring=172.16.1.1 [mysql_cluster] ndb-connectstring=172.16.1.1 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
Esegui i seguenti comandi:
mkdir /var/lib/mysql-cluster chown -R mysql /var/lib/mysql-cluster cd /var/lib/mysql-cluster ndbd --initial echo "ndbd" > /etc/init.d/ndbd chmod 755 /etc/init.d/ndbd
Ripetere la stessa procedura sul Data2 VPS.
Per verificare lo stato del cluster MySQL, eseguire il seguente comando sul VPS di gestione:
ndb_mgm -e show
L'output dovrebbe essere simile a questo:
Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=3 @172.16.1.3 (mysql-5.7.16 ndb-7.5.4, Nodegroup: 0, *) id=4 @172.16.1.4 (mysql-5.7.16 ndb-7.5.4, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1 @172.16.1.1 (mysql-5.7.16 ndb-7.5.4) [mysqld(API)] 1 node(s) id=2 @172.16.1.2 (mysql-5.7.16 ndb-7.5.4)
Questo è tutto. La configurazione del cluster MySQL è ora completa.
Ovviamente, non devi configurare MySQL Cluster su Ubuntu, se utilizzi uno dei nostri servizi di hosting VPS MySQL, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurare MySQL Cluster per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta. Per ulteriori aggiornamenti, puoi leggere MariaDB/MySQL Auto-Lustro con bilanciamento del carico e replica per disponibilità e prestazioni elevate.
PS. Se ti è piaciuto questo post su come configurare MySQL Cluster su Ubuntu, condividilo con i tuoi amici sui social network usando i pulsanti a sinistra o lascia semplicemente una risposta qui sotto. Grazie.