Installer le cluster multi-maître MariaDB Galera Cluster sur CentOS7

1. Introduction à MariaDB Galera Cluster

MariaDB Galera Cluster est un outil de synchronisation d'un cluster multi-maître de bases de données MariaDB. En termes de données, il est entièrement compatible avec MariaDB et MySQL. caractéristique:

  • Réplication synchrone

  • Logique de topologie multi-maître actif-actif

  • Les données peuvent être lues et écrites sur n'importe quel nœud du cluster

  • Contrôle automatique de l'appartenance, le nœud défaillant est automatiquement supprimé du cluster

  • Jointure automatique des nœuds

  • Réplication parallèle réelle, basée sur le niveau de la ligne

  • Connexion client directe, interface MySQL native


2. Préparation de l'environnement

Préparez deux machines virtuelles et installez respectivement CentOS7-1908 (7.7).

Serveur A: 193.168.12.9     
serveur db1 B: 193.168.12.10    db2


Désactivez le pare-feu sur les deux machines virtuelles:

systemctl arrêter le firewalld 
systemctl désactiver le pare - feud


Fermez selinux sur les deux machines virtuelles:

setenforce 0

Modifiez / etc / selinux / config et définissez SELINUX = disabled pour vous assurer qu'il prend effet après le redémarrage.


3. Installez mariadb 10.5

Par défaut, la source de centos ne contient pas mariadb 10.5. Vous devez le configurer vous-même. Créez le fichier /etc/yum.repo.d/mariadb.repo. La configuration ici est à télécharger depuis le miroir Alibaba Cloud, qui est plus rapide que le site officiel. Le contenu est le suivant:

[mariadb] 
name = MariaDB 
baseurl = https: //mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64 
pgpkey = https: //mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB 
pgpcheck = 0


Téléchargez et importez la clé:

wget - no-check-certificate https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB / etc / pki / rpm-gpg / 
rpm --import / etc / pki / rpm-gpg / *


Installez avec yum:

yum install -y MariaDB-serveur MariaDB-client


Si vous avez déjà configuré d'autres sources et que l'installation échoue, vous pouvez nettoyer et réessayer:

miam nettoyer les métadonnées


Les deux serveurs de base de données effectuent la même opération.


4. Configurer mariadb

Démarrez mariadb:

systemctl start mariadb


L'initialisation peut être effectuée à la demande:

mysql_secure_installation


Par défaut, mariadb autorise uniquement root à se connecter localement. Vous devez créer manuellement les autorisations de gestion à distance root. Vous pouvez en créer une ou modifier la racine actuelle. Si vous en créez une nouvelle:

mysql -uroot -p 
utilise mysql 
create user root @ '%' identifié par 'mariadb'; 
privilèges de vidage;


Ou modifiez l'hôte qui a la racine:

mysql -u root -p 
utilise mysql 
update user set host = '%' où user = 'admin' et host = 'localhost'; 
privilèges de vidage;


Les deux serveurs de base de données effectuent la même opération.


5. Configurer un cluster

Une fois les deux bases de données indépendantes prêtes, commencez à former un cluster galera et arrêtez d'abord le service mariadb:

systemctl stop mariadb


Modifiez la configuration de mariadb: /etc/my.cnf.d/server.cnf 

[Galera] 
wsrep_on = ON 
wsrep_provider = / usr / lib64 / Galera-4 / libgalera_smm.so 
wsrep_cluster_address = Gcomm: //193.168.12.9,193.168.12.10 
wsrep_cluster_name = rvsdb 
wsrep_node_name = db1 
wsrep_node_address = 193.168.12.9 
binlog_format = ligne 
default_storage_engine = InnoDB 
innodb_autoinc_lock_mode = 2 
wsrep_slave_threads = 1 
innodb_flush_log_at_trx_commit = 0 
adresse de liaison = 0.0.0.0


À l'exception de wsrep_node_name et wsrep_node_address, les autres éléments de configuration de la configuration des deux serveurs sont identiques.


Démarrez le premier nœud en créant un nouveau cluster:

guy_new_cluster


À ce stade, vous pouvez voir que le processus mysqld est démarré avec des paramètres et écoute sur les ports 4567 et 3306 en même temps.

Il convient de noter que galera_new_cluster n'est exécuté qu'une seule fois et que le nœud redémarre en mode de service normal dans le futur.

06.png

07.png


Démarrez le deuxième nœud de la manière normale:

systemctl start mariadb


Si aucune erreur n'est signalée lors du démarrage, félicitations, la formation du cluster est terminée. La recommandation officielle est de regrouper au moins 3 nœuds, mais 2 peuvent également fonctionner, mais des problèmes de Split-Brain peuvent survenir.


À ce stade, les deux parties se connectent à leur propre mariadb et vérifient l'état du cluster. Vous pouvez voir qu'il existe le même cluster_status_uuid et que le nombre de clusters cluster_size est également de 2, ce qui signifie deux.

09.png


Exécutez respectivement des instructions DDL ou SQL sur deux ordinateurs, et les deux seront synchronisés l'un avec l'autre.






Je suppose que tu aimes

Origine blog.51cto.com/boytnt/2542583
conseillé
Classement