From 32a66d3b0986416eafa2e480672f28cb9e9869c7 Mon Sep 17 00:00:00 2001 From: Romain Dessort Date: Thu, 6 Dec 2018 10:36:34 -0500 Subject: [PATCH] HowtoMySQL/Galera : adaptation pour Debian stretch --- HowtoMySQL/Galera.md | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/HowtoMySQL/Galera.md b/HowtoMySQL/Galera.md index 437e581b..96b1dfc2 100644 --- a/HowtoMySQL/Galera.md +++ b/HowtoMySQL/Galera.md @@ -17,14 +17,19 @@ supportées par la réplication et ne seront donc pas répliquées ! Il est conseillé d'avoir au minimum 3 serveurs en cas de conflit de réplication, mais 2 peuvent suffire. -Documentation officielle : http://galeracluster.com/documentation-webpages/gettingstarted.html +Documentation officielle (MariaDB ≥ 10.1) : https://mariadb.com/kb/en/library/galera-cluster/ + +Documentation officielle (MariaDB < 10.1) : http://galeracluster.com/documentation-webpages/gettingstarted.html + ## Installation ~~~ -# apt install galera-3 mariadb-galera-server rsync +# apt install galera-3 mariadb-server rsync ~~~ +Note : pour Debian jessie, il est nécessaire d'installer le paquet _mariadb-galera-server_. Depuis stretch, qui contient MariaDB 10.1, le plugin de réplication a été inclus dans le paquet de standard _mariadb-server_. + ## Configuration réseau La réplication Galera utilise des ports réseau dédiés. Il est donc nécessaire d'autoriser les ports suivant dans les pare-feu des machines : @@ -35,7 +40,7 @@ La réplication Galera utilise des ports réseau dédiés. Il est donc nécessai ## Mise en place -Ajouter la configuration suivante dans le fichier _/etc/mysql/conf.d/galera.cnf_, sur toutes les machines du cluster : +Ajouter la configuration suivante dans le fichier _/etc/mysql/mariadb.conf.d/galera.cnf_, sur toutes les machines du cluster : ~~~ [mysqld] @@ -53,6 +58,7 @@ binlog_format=ROW # Galera cluster configuration +wsrep_on=ON wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_provider_options="gcache.size=300M; gcache.page_size=300M" @@ -68,6 +74,12 @@ wsrep_retry_autocommit=4 *Note :* seul _wsrep_node_address_ et _wsrep_node_name_ sont différents d'une machine à l'autre. +Bien s'assurer que le fichier est lisible par MariaDB : + +~~~ +# chmod 644 /etc/mysql/mariadb.conf.d/galera.cnf +~~~ + Ensuite pour initialiser le nouveau cluster, il est nécessaire de démarrer l'une des machines avec l'option `--wsrep-new-cluster`. Avant tout, s'assurer que MySQL est éteint sur chaque serveur : @@ -76,10 +88,16 @@ Avant tout, s'assurer que MySQL est éteint sur chaque serveur : # /etc/init.d/mysql stop ~~~ -MySQL à partir de sa version 5.7 vient avec le script _/usr/bin/mysqld_bootstrap_, il est préférable de l'utiliser pour la première initialisation. À faire sur un des serveurs uniquement : +MariaDB 10.1 (Debian stretch) vient avec le script _galera_new_cluster_, il est préférable de l'utiliser pour la première initialisation. À faire sur un des serveurs uniquement : ~~~ -# /usr/bin/mysqld_bootstrap +# galera_new_cluster +~~~ + +Pour les versions précédentes, on peut utiliser le script _/usr/bin/mysqld_bootstrap_ : + +~~~ +# mysqld_bootstrap ~~~ Sur les autres serveurs, simplement démarrer MySQL de manière habituelle :