Nous allons vous montrer comment configurer MySQL Cluster sur Ubuntu. Le cluster MySQL NDB intègre le serveur MySQL standard avec un moteur de stockage en cluster en mémoire appelé NDB (Network DataBase). Nous utiliserons au total 4 serveurs virtuels, un pour la gestion, un nœud SQL et deux nœuds de données :
- 172.16.1.1 – VPS de gestion
- 172.16.1.2 – VPS SQL
- 172.16.1.3 – Data1 VPS
- 172.16.1.4 – Data2 VPS
1. Installer et configurer MySQL Cluster sur le VPS de gestion
Téléchargez la dernière version de MySQL Cluster disponible sur http://dev.mysql.com/downloads/cluster/ dans un répertoire de votre serveur virtuel et extrayez-la à l'aide des commandes suivantes :
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
Exécutez les commandes suivantes :
cd /opt/mysql/ cp bin/ndb_mgm* /usr/local/bin/ chmod 755 /usr/local/bin/ndb_mgm*
Créez un répertoire nommé "mysql-cluster"
mkdir -p /var/lib/mysql-cluster/
Ensuite, créez une nouvelle configuration nommée "config.ini" :
vi /var/lib/mysql-cluster/config.ini
ajoutez-y les lignes suivantes :
[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
N'oubliez pas de modifier les noms d'hôte/adresses IP en fonction des noms d'hôte/adresses IP de votre serveur actuel.
2. Installer et configurer MySQL Cluster sur le VPS SQL
Vérifiez si des packages MySQL sont déjà installés :
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
Supprimez ces packages et leurs configurations en utilisant :
apt-get purge mysql-c* mysql-s*
Ou supprimez les packages et les fichiers de configuration répertoriés par 'dpkg -l | grep mysql' ci-dessus en utilisant :
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
Téléchargez la dernière version de MySQL Cluster disponible sur "http://dev.mysql.com/downloads/cluster/" dans le répertoire opt de votre serveur virtuel et extrayez-la à l'aide des commandes suivantes :
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/
Modifiez le fichier de configuration MySQL (/etc/my.cnf) :
vi /etc/my.cnf
ajoutez les lignes suivantes :
[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
Connectez-vous au VPS de gestion via SSH et exécutez la commande suivante :
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/
Afin de configurer ndb_mgmd pour qu'il démarre au démarrage, ajoutez la commande suivante à "/etc/rc.local" :
vi /etc/rc.local
et ajoutez :
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/
avant la ligne ‘exit 0’ et enregistrez le fichier.
Démarrez le service MySQL sur le VPS SQL :
service mysql start
Afin d'améliorer la sécurité de votre installation MySQL, exécutez :
/usr/local/mysql/bin/mysql_secure_installation
3. Installer et configurer MySQL Cluster sur les VPS de données
Vérifiez s'il existe des packages MySQL déjà installés en utilisant :
dpkg -l | grep mysql
Supprimez-les, y compris les fichiers de configuration :
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
Téléchargez et extrayez la dernière version de MySQL Cluster dans le répertoire opt sur le VPS data1 :
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/
Exécutez les commandes suivantes :
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/
Modifiez le fichier de configuration MySQL :
vi /etc/my.cnf
ajoutez les lignes suivantes :
[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
Exécutez les commandes suivantes :
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
Répétez la même procédure sur le Data2 VPS.
Afin de vérifier l'état du cluster MySQL, exécutez la commande suivante sur le VPS de gestion :
ndb_mgm -e show
Le résultat devrait ressembler à ceci :
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)
C'est ça. La configuration du cluster MySQL est maintenant terminée.
Bien sûr, vous n'êtes pas obligé de configurer MySQL Cluster sur Ubuntu, si vous utilisez l'un de nos services d'hébergement VPS MySQL, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de configurer MySQL Cluster. pour toi. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande. Pour plus de mises à jour, vous pouvez lire MariaDB/MySQL Auto-Сlustering with Load Balancing and Replication for High Availability and Performance.
PS. Si vous avez aimé cet article sur la configuration de MySQL Cluster sur Ubuntu, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.