Dans ce tutoriel, je vais vous montrer comment installer et configurer Percona XtraDB Cluster sur un serveur CentOS 7. Nous utiliserons Percona XtraDB Cluster 5.6 qui est entièrement compatible avec MySQL et le serveur Percona.
Percona est une société d'experts en bases de données MySQL et MongoDB fondée en 2006. Percona construit et maintient des logiciels open source pour MySQL et MongoDB :le serveur Percona (serveur de base de données pour MySQL avec des améliorations de performances de haute disponibilité), Percona XtraDB Cluster (solution de haute disponibilité pour MySQL cluster), Percona Server pour MongoDB et d'autres outils de gestion des bases de données tels que la boîte à outils Percona, les outils de surveillance Percona et Percona XtraBackup.
Prérequis
- 3 nœuds de serveur CentOS 7.
- Privilèges racine.
- Connaissance de base de CentOS 7
Étape 1 - Configurer le fichier hosts
La première chose à faire est de configurer les noms d'hôte de tous les serveurs. J'ai 3 serveurs avec CentOS 7 comme indiqué ci-dessous :
Noeud IP du serveur Nom d'hôte
Noeud1 - 192.168.43.36 percona1
Noeud2 - 192.168.43.166 percona2
Noeud3 - 192.168.43.143 par cona pre>Connectez-vous à tous les serveurs en utilisant votre terminal :
ssh [protégé par e-mail]Si vous êtes connecté à tous les serveurs, modifiez le fichier '/etc/hosts' sur chaque serveur avec vim :
vim /etc/hostsCollez la configuration des hôtes ci-dessous :
192.168.43.36 percona1
192.168.43.166 percona2
192.168.43.148 percona3Remplacez les adresses IP par celles qui correspondent à la configuration de votre réseau local. Enregistrez et quittez.
Étape 2 - Configurer Firewalld
Firewalld est la nouvelle interface de pare-feu par défaut sur CentOS 7. La commande firewall-cmd est utilisée pour configurer le pare-feu. Nous pouvons définir et configurer des groupes ou des zones spécifiques, ou nous pouvons configurer un pare-feu pour des services tels que ssh, les bases de données MySQL, le serveur Web nginx/apache, etc.
Dans cette étape, nous utiliserons firewalld pour la configuration du pare-feu. Nous allons utiliser la commande "firewall-cmd" pour ouvrir le port du serveur percona et les autres ports nécessaires au cluster.
Démarrez firewalld avec cette commande systemctl :
systemctl démarrer le pare-feuExécutez ensuite la commande ci-dessous pour ouvrir le port utilisé par le serveur MySQL/percona :
firewall-cmd --zone=public --add-service=mysql --permanentEnsuite, ajoutez les autres ports du cluster avec la commande ci-dessous :
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=4567/tcp --permanent
firewall-cmd --zone=public --add-port=4568/tcp --permanent
firewall-cmd --zone=public --add-port=4444/tcp --permanent
pare-feu -cmd --zone=public --add-port=4567/udp --permanentRechargez les règles de pare-feu :
firewall-cmd --reloadPour voir la liste de toutes les règles de pare-feu, utilisez l'option '--list-all' :
firewall-cm --list-all
Étape 3 - Installer le référentiel Epel et Socat
Pour que Percona XtraDB Cluster s'exécute sur le serveur, nous devons installer socat, et il est disponible dans le référentiel epel. Nous devons donc d'abord installer le référentiel Epel, puis installer socat. De plus, nous devons supprimer les bibliothèques mariadb du serveur car elles entrent en conflit avec le cluster Percona XtraDB.
Installez epel-repository et socat :
yum -y install epel-release
yum -y install socatSupprimez mariadb-libs pour éviter le conflit de package entre mariadb-libs et Percona XtraDB Cluster :
yum -y supprimer mariadb-libsLe référentiel Epel et socat sont installés.
Étape 4 - Installer le cluster Percona XtraDB
Dans cette étape, nous allons installer le cluster Percona xtradb avec toutes les dépendances de package. Nous devons ajouter le référentiel Percona pour l'installation, puis nous démarrons le serveur Percona et configurons l'utilisateur root et le mot de passe pour le serveur de base de données.
Installez le dépôt Percona avec yum :
yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpmInstallez maintenant le cluster Percona XtraDB et les autres packages requis pour ce tutoriel :
yum install Percona-XtraDB-Cluster-server-56 Percona-XtraDB-Cluster-client-56 Percona-XtraDB-Cluster-shared-56 percona-toolkit percona-xtrabackup Percona-XtraDB-Cluster-galera-3 rsync ncPercona XtraDB Cluster est installé, démarrez le serveur Percona avec cette commande systemctl :
systemctl démarrer mysqlEnsuite, configurez le mot de passe root pour tous les serveurs percona/mysql :
mysql_secure_installationDéfinissez le mot de passe percona/mysql :
Entrez le mot de passe actuel pour root (entrez pour aucun) :APPUYEZ SUR ENTREE
Définir le mot de passe root ? [O/n] O
Nouveau mot de passe :SAISISSEZ VOTRE MOT DE PASSE
Saisissez à nouveau le nouveau mot de passe :RÉPÉTEZ LE MOT DE PASSE
Supprimer les utilisateurs anonymes ? [O/n] O
Interdire la connexion root à distance ? [O/n] O
Recharger les tables de privilèges maintenant ? [O/n] ORemarque :
Exécutez les étapes 1 à 4 sur les 3 serveurs CentOS.
Étape 5 - Configurer le cluster Percona XtraDB
À l'étape 4, nous avons déjà installé Percona XtraDB Cluster et configuré le mot de passe root pour tous les nœuds de serveur Percona/Mysql. Dans cette étape, nous allons créer un nouvel utilisateur pour l'authentification SST et modifier la configuration MySQL my.cnf sur chacun des serveurs.
SST (State Snapshot Transfer) est une copie complète des données d'un serveur en tant que donneur vers un autre serveur en tant que jointeur. Pour l'authentification SST, nous devons créer un nouvel utilisateur appelé "sstuser" avec le mot de passe "[email protected]". Et pour la méthode SST, nous utiliserons xtrabackup-v2 au lieu de rsync. Veuillez utiliser un mot de passe différent et sécurisé pour votre cluster !
Connectez-vous au shell percona/mysql sur chaque serveur :
mysql -u root -p
TAPEZ VOTRE MOT DE PASSEEt créez le nouveau 'sstuser' avec le mot de passe '[email protected]' :
créer l'utilisateur [email protected]' %' identifié par '[email protected]' ;
accorder tout sur *.* à [email protected]'%' ;
vider les privilèges ;
Arrêtez ensuite le service MySQL sur chaque serveur avant de modifier le fichier de configuration :
systemctl stop mysqlEnsuite, éditez le fichier de configuration mysql my.cnf sur chaque serveur avec l'éditeur vim.
Sur Percona1 serveur :
vim /etc/mon.cnfModifiez toutes les lignes 'wsrep' avec la configuration ci-dessous :
wsrep_cluster_address =gcomm://
wsrep_provider =/usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads =8
wsrep_node_name =Cluster Percona xtradb
wsrep_node_name =Cluster Percona xtradb
=percona1
wsrep_node_address =percona1
wsrep_sst_method =xtrabackup-v2
wsrep_sst_auth =sstuser :[email protected]Enregistrez et quittez.
Sur Percona2 serveur :
vim /etc/mon.cnfModifiez toutes les lignes 'wsrep' avec la configuration ci-dessous :
wsrep_cluster_address =gcomm:// percona1, percona3
wsrep_provider =/usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads =8
wsrep_cluster_name =Cluster Percona XTRADBwsrep_node_name =percona2
wsrep_node_address =percona2
wsrep_sst_method =xtrabackup-v2
wsrep_sst_auth : = = =xtrabackup-v2
wsrep_sst_auth :Enregistrez et quittez.
Sur Percona3 serveur :
vim /etc/mon.cnfModifiez toutes les lignes 'wsrep' avec la configuration ci-dessous :
wsrep_cluster_address =gcomm:// percona1, percona2
wsrep_provider =/usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads =8
wsrep_cluster_name =Cluster Percona XTRADBwsrep_node_name =percona3
wsrep_node_address =percona3
wsrep_sst_method =xtrabackup-v2
wsrep_sst_auth : = = = xtrabackup-v2
wsrep_sst_auth :Enregistrez et quittez.
Capture d'écran du percona2 serveur.
Étape 6 - Démarrez le serveur de cluster Percona XtraDB
Nous avons configuré le cluster Percona XtraDB sur tous les serveurs, et maintenant nous pouvons démarrer le serveur.
Sur le serveur Percona1, démarrage ou démarrage du cluster :
systemctl start [email protected]Ensuite, démarrez le serveur Percona/MySQL sur les serveurs percona2 et percona3 avec la commande ci-dessous :
systemctl démarrer mysqlassurez-vous qu'il n'y a pas de message d'erreur. S'il y a une erreur après avoir tapé pour démarrer MySQL, vérifiez le fichier journal '/var/log/messages'.
Étape 7 - Tester
Nous devons nous connecter au shell percona/mysql sur chaque serveur pour tester le cluster Percona XtraDB.
Connectez-vous au shell Percona/MySQL sur tous les serveurs/nœuds :
mysql -u root -p
TAPEZ VOTRE MOT DE PASSETest de la haute disponibilité avec la commande mysql :
AFFICHER L'ÉTAT COMME 'wsrep_local_state_comment' ;Essayez cette commande sur chaque nœud, si vous voyez "Synchronisé" en conséquence, ce nœud est prêt à gérer le trafic.
Tester les nœuds disponibles du cluster :
afficher l'état global comme 'wsrep_cluster_size' ;Vous obtiendrez le nombre actuel de nœuds dans le cluster Percona.
Pour les résultats complets, vous pouvez utiliser la commande ci-dessous :
afficher l'état global comme 'wsrep%' ;