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]().
|
||||
|
@ -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 :
|
||||
|
||||
~~~
|
||||
CHANGE MASTER TO
|
||||
mysql> CHANGE MASTER TO
|
||||
MASTER_HOST='$MASTER_IP',
|
||||
MASTER_USER='repl',
|
||||
MASTER_PASSWORD='XXX',
|
||||
|
@ -38,11 +38,12 @@ CHANGE MASTER TO
|
|||
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
|
||||
~~~
|
||||
|
||||
|
@ -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 :
|
||||
|
||||
~~~
|
||||
~~~{.ini}
|
||||
[mysqld]
|
||||
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
|
||||
suivante dans le my.cnf :
|
||||
suivante :
|
||||
|
||||
~~~
|
||||
~~~{.ini}
|
||||
[mysqld]
|
||||
log-slave-updates
|
||||
~~~
|
||||
|
||||
|
@ -104,7 +107,7 @@ avec la commande `START SLAVE`. Voici quelques erreurs possibles
|
|||
**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**
|
||||
|
@ -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
|
||||
~~~
|
||||
|
||||
Il faut réparer la table concernée
|
||||
Il faut réparer la table concernée.
|
||||
|
||||
**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.
|
||||
|
||||
~~~
|
||||
MAILTO=jdoe@exemple.com
|
||||
MAILTO=jdoe@example.com
|
||||
42 9 * * 7 pt-table-checksum -q
|
||||
~~~
|
||||
|
||||
### 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 :
|
||||
|
||||
|
|
Loading…
Reference in a new issue