19
0
Fork 0

HowtoMySQL/Galera : adaptation pour Debian stretch

This commit is contained in:
Romain Dessort 2018-12-06 10:36:34 -05:00
parent ccdb448e63
commit 32a66d3b09
No known key found for this signature in database
GPG Key ID: 876B9AB48BB62212
1 changed files with 23 additions and 5 deletions

View File

@ -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 :