diff --git a/HowtoMySQL/Replication.md b/HowtoMySQL/Replication.md index 91aa6c88..95126d3a 100644 --- a/HowtoMySQL/Replication.md +++ b/HowtoMySQL/Replication.md @@ -85,7 +85,7 @@ log-slave-updates ~~~ **Astuce 3** : Sauter une requête déjà présente dans les binlog sur le slave (à tester) : -https://stackoverflow.com/questions/17701524/mysql-replication-skip-statement-is-it-possible + ## Etapes supplémentaires pour une réplication _master-master_ @@ -126,9 +126,13 @@ Duplicate entry 'NNNNNN' for key N Une solution *peut* être de supprimer la ligne concernée (ou de zapper l'erreur) -**Beaucoup de doublons à ignorer** +**Beaucoup d'erreurs à ignorer** -Si pour une raison ou un autre, on a plein de `DUPLICATE ENTRY` mais que l'est *sûr* de vouloir les ignorer, on peut faire cela en redémarrant MySQL avec le paramètre : `slave-skip-errors = 1062` ; on peut faire également cela avec d'autres types d'erreurs. Malheureusement, il faut forcément redémarrer MySQL car cette commande ne se fait pas à chaud : http://bugs.mysql.com/bug.php?id=35611 +Si pour une raison ou un autre, on a plein de `DUPLICATE ENTRY` mais que l'est *sûr* de vouloir les ignorer, on peut faire cela en redémarrant MySQL avec le paramètre : `slave-skip-errors = 1062` ; on peut faire également cela avec d'autres types d'erreurs. Malheureusement, il faut forcément redémarrer MySQL car cette commande ne se fait pas à chaud : + +On peut également avoir d'autres erreurs, par exemple `Could not execute Delete_rows event on table foo.bar; Can't find record in 'bar', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log [...]` et on mettre cette fois `slave-skip-errors = 1032` + +Si plusieurs types d'erreur à ignorer : `slave-skip-errors = 1032,1062` **Récupération deposition impossible**