relecture [5/n]
This commit is contained in:
parent
12d4fd62b4
commit
57553c86ad
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
title: Howto MySQL : réplication.
|
title: Howto MySQL : réplication
|
||||||
...
|
...
|
||||||
|
|
||||||
Pour le guide d'installation et d'usage courant, consultez [/HowtoMySQL]().
|
Pour le guide d'installation et d'usage courant, consultez [/HowtoMySQL]().
|
||||||
|
@ -30,7 +30,7 @@ Récupérer les informations sur `MASTER_LOG_FILE` et `MASTER_LOG_POS` dans le d
|
||||||
Sur le serveur B (le _slave_ en mode master-slave), exécuter :
|
Sur le serveur B (le _slave_ en mode master-slave), exécuter :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
CHANGE MASTER TO
|
mysql> CHANGE MASTER TO
|
||||||
MASTER_HOST='$MASTER_IP',
|
MASTER_HOST='$MASTER_IP',
|
||||||
MASTER_USER='repl',
|
MASTER_USER='repl',
|
||||||
MASTER_PASSWORD='XXX',
|
MASTER_PASSWORD='XXX',
|
||||||
|
@ -38,11 +38,12 @@ CHANGE MASTER TO
|
||||||
MASTER_LOG_POS=NNN;
|
MASTER_LOG_POS=NNN;
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
**Bien que non obligatoire, il est recommandé de toujours indiquer les directives `MASTER_LOG_FILE` et `MASTER_LOG_POS`**
|
/!\\ **Bien que non obligatoire, il est recommandé de toujours indiquer les directives `MASTER_LOG_FILE` et `MASTER_LOG_POS`**
|
||||||
|
|
||||||
Pour exclure une base de la réplication, dans `/etc/mysql/my.cnf` :
|
Pour exclure une base de la réplication :
|
||||||
|
|
||||||
~~~
|
~~~{.ini}
|
||||||
|
[mysqld]
|
||||||
binlog-ignore-db = mysql
|
binlog-ignore-db = mysql
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
@ -61,7 +62,8 @@ Query OK, 0 rows affected (0.00 sec)
|
||||||
|
|
||||||
Pour éviter que la réplication démarre automatiquement au démarrage, on ajoutera dans la configuration :
|
Pour éviter que la réplication démarre automatiquement au démarrage, on ajoutera dans la configuration :
|
||||||
|
|
||||||
~~~
|
~~~{.ini}
|
||||||
|
[mysqld]
|
||||||
skip-slave-start
|
skip-slave-start
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
@ -75,9 +77,10 @@ mysql> SET sql_log_bin = 0;
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
**Astuce 2** : Pour divers raisons (notamment la réplication de données déjà répliquées !), on devra activer l'option
|
**Astuce 2** : Pour divers raisons (notamment la réplication de données déjà répliquées !), on devra activer l'option
|
||||||
suivante dans le my.cnf :
|
suivante :
|
||||||
|
|
||||||
~~~
|
~~~{.ini}
|
||||||
|
[mysqld]
|
||||||
log-slave-updates
|
log-slave-updates
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
@ -104,7 +107,7 @@ avec la commande `START SLAVE`. Voici quelques erreurs possibles
|
||||||
**Zapper l'erreur en cours**
|
**Zapper l'erreur en cours**
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;
|
mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
**Fichier de clé incorrect**
|
**Fichier de clé incorrect**
|
||||||
|
@ -113,7 +116,7 @@ SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;
|
||||||
Incorrect key file for table './base/table.MYI'; try to repair it
|
Incorrect key file for table './base/table.MYI'; try to repair it
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Il faut réparer la table concernée
|
Il faut réparer la table concernée.
|
||||||
|
|
||||||
**Doublon sur clé unique**
|
**Doublon sur clé unique**
|
||||||
|
|
||||||
|
@ -205,13 +208,13 @@ L'outil vérifie l'intégrité de la réplication en effectuant des requêtes de
|
||||||
La méthode la plus simple pour l'utiliser est d'autoriser le master à se connecter au slave (authentification MySQL). Ainsi, il s'occupe lui-même de faire le nécessaire pour identifier les erreurs. Il suffira donc de lancer la commande sans argument pour qu'il identifie les incohérences. On pourra réaliser un cron avec l'argument `-q` qui ne fait remonter que les erreurs.
|
La méthode la plus simple pour l'utiliser est d'autoriser le master à se connecter au slave (authentification MySQL). Ainsi, il s'occupe lui-même de faire le nécessaire pour identifier les erreurs. Il suffira donc de lancer la commande sans argument pour qu'il identifie les incohérences. On pourra réaliser un cron avec l'argument `-q` qui ne fait remonter que les erreurs.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
MAILTO=jdoe@exemple.com
|
MAILTO=jdoe@example.com
|
||||||
42 9 * * 7 pt-table-checksum -q
|
42 9 * * 7 pt-table-checksum -q
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
### pt-table-sync
|
### pt-table-sync
|
||||||
|
|
||||||
Si `pt-table-checksum` vous a remonté des incohérences, vous pouvez avec cet outil les corriger. Cela va identifier les différences et les corriger avec un `REPLACE` sur le master (qui sera donc répliqué sur le slave), garantissant la cohérence des données.
|
Si *pt-table-checksum* vous a remonté des incohérences, vous pouvez avec cet outil les corriger. Cela va identifier les différences et les corriger avec un `REPLACE` sur le master (qui sera donc répliqué sur le slave), garantissant la cohérence des données.
|
||||||
|
|
||||||
Exemple :
|
Exemple :
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue