GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer un cluster MySQL sur Ubuntu 16.04

MySQL Cluster est une technologie permettant de fournir une haute disponibilité pour les bases de données MySQL. Il utilise NDB (Network DataBase) ou NDBCLUSTER comme moteur de stockage de base de données. MySQL Cluster est conçu comme une architecture ACID multimaître sans point de défaillance unique, il utilise le partitionnement automatique (partitionnement) pour faire évoluer les processus de lecture et d'écriture.

Pour implémenter un cluster MySQL, nous avons besoin de 3 types de nœuds différents :

  • Nœud de gestion (ndb_mgmd )
    • Utilisé pour surveiller et configurer le cluster.
  • Nœud de données (ndbd )
    • Ces nœuds sont utilisés pour stocker les données qu'ils fournissent au partitionnement automatique et peuvent gérer la réplication.
  • Noeud SQL (mysqld )
    • Interfaces MySQL Server pour la connexion à tous les nœuds.

Dans ce tutoriel, je vais vous montrer comment installer un 'MySQL Cluster' sur Ubuntu 16.04 LTS (Xenial Xerus).

Prérequis

  • 4 nœuds avec le serveur Ubuntu 16.04
  1. 192.168.1.11    nœud de gestion
  2. 192.168.1.12    data-node1
  3. 192.168.1.13    data-node2
  4. 192.168.1.14    nœud SQL
  • Privilèges root sur les nœuds.

Étape 1 - Installer et configurer le nœud de gestion

Dans cette étape, nous allons installer le nœud de gestion de notre cluster avec l'adresse IP 192.168.1.11. Nous installons le logiciel de cluster MySQL et le configurons en tant que nœud de gestion pour le cluster.

Connectez-vous au nœud de gestion avec ssh :

ssh [email protected]
TAPEZ VOTRE MOT DE PASSE

A. Installer le nœud de gestion de cluster MySQL

Ouvrez le site du cluster MySQL ici et choisissez l'option 'Linux-generic ' et téléchargez le package 64 bits en cliquant sur 'Télécharger ' bouton.

Téléchargez le package de cluster MySQL avec wget et extrayez-le.

wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz

Renommez le répertoire en mysql :

mv mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64/ mysql/

Allez dans le répertoire mysql et copiez les 2 fichiers binaires pour la commande de gestion du cluster 'ndb_mgmd et ndb_mgm ' dans le répertoire '/usr/local/bin/', puis rendez-les exécutables avec la commande chmod.

cd ~/mysql/
cp bin/ndb_mgm* /usr/local/bin/
chmod +x /usr/local/bin/ndb_mgm*

B. Configurer le nœud de gestion de cluster MySQL

Configurez le nœud de gestion en créant un nouveau répertoire 'mysql-cluster' pour les fichiers de configuration dans le répertoire '/var/lib/'.

Créez un répertoire 'mysql-cluster' et créez une nouvelle configuration 'config.ini' dans le répertoire :

mkdir -p /var/lib/mysql-cluster/
vim /var/lib/mysql-cluster/config.ini

Collez la configuration ci-dessous :

[ndbd par défaut]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M

[mysqld par défaut]

[ndb_mgmd default]

[tcp default]

# Cluster Control / Management node
[ndb_mgmd]
hostname=192.168.1.11

# Nœud de données 1
[ndbd]
hostname=192.168.1.12
DataDir=/var/lib/mysql-cluster

# Nœud de données 1
[ndbd]
HostName=192.168.1.13
DataDir=/var/lib/mysql-cluster

# Nœud SQL
[mysqld]
hostname=192.168.1.14

# Si vous souhaitez ajouter un nouveau nœud SQL
[mysqld]

Modifiez l'adresse IP de ndb_mgmd pour la gestion, ndbd pour le nœud de données et mysqld pour le nœud sql afin qu'il corresponde à votre configuration.

Enregistrez le fichier et quittez.

Ensuite, démarrez le processus du nœud de gestion avec la commande ci-dessous :

ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/

Faites en sorte qu'il soit démarré au démarrage en ajoutant la commande à '/etc/rc.local ' fichier :

echo 'ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/'>> /etc/rc.local

Si vous voyez les résultats :

Serveur de gestion de cluster MySQL mysql-5.6.31 ndb-7.4.12

Ensuite, le processus du nœud de gestion est en cours d'exécution.

Vérifiez le nœud de gestion avec une autre commande :

# Vérification du port 1186 utilisé par ndb_mgmd
netstat -plntu

# Vérification que le nœud de gestion est prêt
ndb_mgm
show

Étape 2 - Installer et configurer le nœud de données

Dans cette étape, nous allons installer le logiciel de cluster MySQL et le configurer en tant que nœud de données. Nous utiliserons 2 serveurs Ubuntu 16.04 comme nœuds de données :data-node1 avec l'adresse IP 192.168.1.12 et data-node2 avec l'adresse IP 192.168.1.13.

Connectez-vous au serveur data-node1 avec ssh :

ssh [protégé par e-mail]

A. Installer le cluster MySQL sur le nœud de données

Avant d'installer le logiciel de cluster MySQL, nous devons installer un nouveau package 'libaio1 ' et créez un nouvel utilisateur et groupe mysql . Exécutez la commande ci-dessous en tant que root pour cela :

apt-get install libaio1
groupadd mysql
useradd -g mysql mysql

Téléchargez maintenant le package de cluster MySQL 'Linux-Generic ', extrayez et renommez le répertoire en mysql.

wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
mv mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64/ mysql/

Déplacez le répertoire 'mysql' vers '/usr/local /' et allez dans ce répertoire.

mv mysql /usr/local/
cd /usr/local/mysql/

Exécutez le script de création des bases de données système :

./scripts/mysql_install_db --user=mysql

S'il n'y a pas d'erreur, copiez le fichier de service mysql dans '/etc/init.d ' et ajoutez le script de démarrage mysql à exécuter au démarrage.

cp support-files/mysql.server /etc/init.d/mysql
systemctl enable mysql

Ensuite, déplacez toutes les commandes binaires mysql vers le '/usr/local/bin ' et créez un nouveau lien symbolique.

mv bin/* /usr/local/bin/
rm -rf bin/
ln -s /usr/local/bin /usr/local/mysql/

Changez le propriétaire du répertoire mysql en utilisateur root et groupez mysql, et changez le répertoire de données en mysql en tant que propriétaire.

chown -R root:mysql .
chown -R données mysql

B. Configurer le nœud de données du cluster MySQL

Créez un nouveau fichier de configuration mysql 'my.cnf ' avec vim :

vim /etc/my.cnf

Collez la configuration ci-dessous :

# Configuration MySQL
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql

# Exécuter le moteur de stockage ndb
ndbcluster
# Nœud de gestion des adresses IP
ndb-connectstring=192.168.1.11

[mysql_cluster]
# Nœud de gestion des adresses IP
ndb-connectstring=192.168.1.11

# MySQL Pid and Log
[mysqld_safe]
log-error=/var/log/mysqld. log
pid-file=/var/run/mysqld/mysqld.pid

Enregistrez et quittez.

Créez un nouveau répertoire pour le nœud de données et changez la propriété en utilisateur mysql.

mkdir -p /var/lib/mysql-cluster/
chown -R mysql /var/lib/mysql-cluster

C. Démarrer MySQL sur le nœud de données

Démarrez le service mysql avec la commande ci-dessous :

ndbd --initial
systemctl démarrer mysql

Assurez-vous qu'il n'y a pas d'erreur, et les résultats sont ci-dessous (data-node2):

MySQL sur le nœud de données est démarré. Vous pouvez maintenant configurer le mot de passe MySQL avec la commande :

mysql_secure_installation

ou accédez au shell MySQL.

mysql -u root -p

REMARQUE  :
Refaire cette étape sur 'data-node2 ' adresse IP du serveur 192.168.1.13.

Étape 3 - Installer et configurer SQL Node

Dans cette étape, nous allons installer le logiciel MySQL Cluster et le configurer en tant que SQL Node. Ce nœud est utilisé pour accéder aux bases de données sur les nœuds de données. Le processus d'installation est le même que pour le nœud de données, mais nous n'avons pas besoin d'exécuter le service ndbd dans le nœud SQL.

Connectez-vous au nœud SQL avec ssh :

ssh [protégé par e-mail]

A. Installer MySQL Cluster sur le nœud SQL

Installez le package libaio1 et créez un nouvel utilisateur et groupe mysql :

apt-get install libaio1
groupadd mysql
useradd -g mysql mysql

Téléchargez le package du cluster mysql depuis le site, extrayez-le et renommez-le :

http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
tar - xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
mv mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64/ mysql/

Déplacez le répertoire mysql :

mv mysql /usr/local/
cd /usr/local/mysql/

Exécutez mysql_install_db script :

./scripts/mysql_install_db --user=mysql

Copiez le fichier de service et ajoutez-le au démarrage :

cp support-files/mysql.server /etc/init.d/mysql
systemctl enable mysql

Déplacez tous les binaires mysql vers '/usr/local/bin ' répertoire :

mv bin/* /usr/local/bin/
rm -rf bin/
ln -s /usr/local/bin /usr/local/mysql/

Changez le propriétaire de tous les fichiers et du répertoire :

chown -R root:mysql .
chown -R données mysql

B. Configurer le nœud SQL du cluster MySQL

Créez un nouveau mon.cnf fichier de configuration avec vim :

vim /etc/my.cnf

Collez la configuration ci-dessous :

# Configuration MySQL
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql

# Exécuter le moteur de stockage ndb
ndbcluster
# Nœud de gestion des adresses IP
ndb-connectstring=192.168.1.11

[mysql_cluster]
# Nœud de gestion des adresses IP
ndb-connectstring=192.168.1.11

# MySQL Pid and Log
[mysqld_safe]
log-error=/var/log/mysqld. log
pid-file=/var/run/mysqld/mysqld.pid

Enregistrez et quittez.

C. Démarrer le nœud SQL

Démarrez le nœud SQL en démarrant le service mysql avec la commande systemctl :

systemctl démarrer mysql

Le nœud SQL est démarré, vous pouvez maintenant configurer le mot de passe pour MySQL.

mysql_secure_installation

Étape 4 - Tester

Testez pour créer une nouvelle base de données à partir du nœud SQL.

mysql -u root -p
TYPE PASSWORD


créer la base de données nanana ;

Vérifiez que la base de données est répliquée sur les serveurs de nœuds de données.
Et lorsqu'un nœud est désactivé, un autre nœud gère la connexion à partir du nœud SQL.

mysql -u root -p
TYPE PASSWORD


show databases ;

Vérification de l'état du cluster à partir du nœud de gestion :

ndb_mgm
montrer

Étape 5 - Conseils supplémentaires

Exécution d'un redémarrage et d'un arrêt sécurisés du cluster.

Accédez au nœud de gestion du cluster et saisissez la commande ci-dessous pour arrêter le cluster :

ndb_mgm
arrêt

La commande arrêtera tous les services ndb sur les nœuds de données.

Si vous souhaitez redémarrer le cluster, vous pouvez exécuter la commande ci-dessous sur le nœud de gestion :

ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/

Et exécutez la commande ci-dessous sur tous les nœuds de données :

ndbd
systemctl démarrer mysql

Ensuite, démarrez le service mysql sur le ou les nœuds SQL :

systemctl démarrer mysql

Maintenant, votre cluster MySQL fonctionne à nouveau.


Ubuntu
  1. Comment installer MySQL 8.0 dans Ubuntu 18.04

  2. Comment installer MySQL sur Ubuntu 20.04

  3. Comment installer MySQL sur Ubuntu 18.04

  4. Comment installer MySQL 8.0 sur Ubuntu 18.04

  5. Comment installer Node.js sur Ubuntu 16.04

Comment installer Drupal sur Ubuntu 14.04

Comment installer Node.js sur Ubuntu 14.04

Comment installer Node.js sur Ubuntu 16.04

Comment installer Node.js sur Ubuntu 19.04

Comment installer Node.js sur Ubuntu 14.04

Comment installer MySQL sur Ubuntu 22.04