Fusion des sections Master/Master
This commit is contained in:
parent
4c0b83a540
commit
8f290adb81
|
@ -130,26 +130,6 @@ Voir la doc de [Mariabackup](mariabackup#mise-en-place-dune-réplication-esclave
|
|||
|
||||
On peut récupérer la position GTID lors d'un backup fait par Mariabackup dans le fichier `xtrabackup_binlog_info`
|
||||
|
||||
### Activation d'une boucle de réplication MASTER/MASTER
|
||||
|
||||
Lorsque l'on veux mettre en place une boucle de réplication MASTER/SLAVE des deux côtés, on commence a mettre en place une réplication MASTER/SLAVE classique, soit avec un mysqldump --master-data, soit avec Mariabackup comme indiqué plus haut.
|
||||
|
||||
Une fois le MASTER/SLAVE synchronisé, sur le MASTER où l'on veux configuré un SLAVE, on vérifie que la variable gtid_slave_pos soit bien vide :
|
||||
|
||||
~~~
|
||||
mysql> show variable like 'gtid_slave_pos';
|
||||
Empty set
|
||||
~~~
|
||||
|
||||
Alors on peut mettre en place la partie SLAVE avec un CHANGE MASTER TO depuis le MASTER vers le SLAVE :
|
||||
|
||||
~~~
|
||||
mysql> CHANGE MASTER TO
|
||||
MASTER_HOST='192.168.0.33',
|
||||
MASTER_USER='repl',
|
||||
MASTER_PASSWORD='PASSWORD',
|
||||
master_use_gtid=slave_pos;
|
||||
~~~
|
||||
|
||||
### Switcher réplication "ancien mode" vers GTID
|
||||
|
||||
|
@ -167,6 +147,7 @@ mysql> CHANGE MASTER TO
|
|||
mysql> START SLAVE;
|
||||
~~~
|
||||
|
||||
|
||||
## Configuration avancée
|
||||
|
||||
<https://dev.mysql.com/doc/refman/5.6/en/replication-options-slave.html>
|
||||
|
@ -188,6 +169,7 @@ master-password = PASSWORD
|
|||
|
||||
> *Note* : En cas d'une bande passante réduite, l'option *slave_compressed_protocol* permet une compression des données côté MASTER et décompression des données côté SLAVE (cela consomme évidemment davantage de ressources CPU).
|
||||
|
||||
|
||||
### Configuration d'une réplication partielle
|
||||
|
||||
Une manière d'avoir une réplication peut être de ne pas écrire toutes les requêtes dans les [binlogs](/HowtoMySQL#binlogs) sur le serveur MASTER via les options *binlog_do_db*/*binlog_ignore_db* mais ce n'est pas conseillé car les binlogs ont souvent d'autres utilités (vérifier les requêtes, ou servir pour d'autres serveurs SLAVE).
|
||||
|
@ -230,19 +212,38 @@ replicate-wild-do-table = mysql.%
|
|||
replicate-wild-ignore-table = foo%.%
|
||||
~~~
|
||||
|
||||
### Réplication MASTER/MASTER
|
||||
|
||||
_Le but est d'activer deux réplications MASTER/SLAVE entre les deux serveurs concernés._
|
||||
### Activation d'une boucle de réplication MASTER/MASTER
|
||||
|
||||
C'est une réplication MASTER/SLAVE des deux côtés.
|
||||
|
||||
Utiliser ce type de réplication implique :
|
||||
|
||||
- Les INSERT ne sont pas immédiatement écrit car il y a un délai de quelques secondes. En cas, bannir un code qui ferait un INSERT puis un SELECT immédiat de la ligne insérée.
|
||||
- Ne pas utiliser la directive `NOW()` en SQL.
|
||||
* Les INSERT ne sont pas immédiatement écrit car il y a un délai de quelques secondes. En cas, bannir un code qui ferait un INSERT puis un SELECT immédiat de la ligne insérée.
|
||||
* Ne pas utiliser la directive `NOW()` en SQL.
|
||||
|
||||
On conseille :
|
||||
Étapes :
|
||||
|
||||
* Positionner la directive `auto-increment-increment = 10` sur chaque serveur
|
||||
* Positionner la directive `auto-increment-offset` avec une valeur numérique différente sur chaque serveur (par exemple 0, 1, 2 etc.)
|
||||
* Mettre en place une réplication MASTER/SLAVE classique, soit avec un mysqldump --master-data, soit avec Mariabackup comme indiqué plus haut.
|
||||
* Une fois le MASTER/SLAVE synchronisé, sur le MASTER où l'on veut configurer un SLAVE, vérifier que la variable `gtid_slave_pos` est bien vide :
|
||||
|
||||
~~~
|
||||
mysql> show variable like 'gtid_slave_pos';
|
||||
Empty set
|
||||
~~~
|
||||
|
||||
* Puis, mettre en place la partie SLAVE avec un `CHANGE MASTER TO` depuis le MASTER vers le SLAVE :
|
||||
|
||||
~~~
|
||||
mysql> CHANGE MASTER TO
|
||||
MASTER_HOST='192.168.0.33',
|
||||
MASTER_USER='repl',
|
||||
MASTER_PASSWORD='PASSWORD',
|
||||
master_use_gtid=slave_pos;
|
||||
~~~
|
||||
|
||||
- Positionner la directive `auto-increment-increment = 10` sur chaque serveur
|
||||
- Positionner la directive `auto-increment-offset` avec une valeur numérique différente sur chaque serveur (par exemple 0, 1, 2 etc.)
|
||||
|
||||
### Réplications en chaîne
|
||||
|
||||
|
|
Loading…
Reference in a new issue