Ajout procedure "Ré-intégré dans la réplication une base qui aurait été exclu"
This commit is contained in:
parent
9b3e59417b
commit
066711c328
|
@ -396,6 +396,45 @@ mysql> STOP SLAVE;
|
|||
Puis éditer (en gardant une sauvegarde) le fichier `${datadir}/relay-log.info`. La première ligne correspond au `Relay_Log_File`, la seconde au `Relay_Log_Pos`.
|
||||
Redémarrer MySQL.
|
||||
|
||||
### Ré-intégré dans la réplication une base qui aurait été exclu.
|
||||
|
||||
Dans cet exemple, la base avait été exclu de la réplication, avec `replicate-ignore-db`, les lectures des requêtes de la base est ignoré sur le slave, mais le master continue d'écrire les requêtes de la base dans les binlogs.
|
||||
|
||||
1 - On enlève l'exclusion de la base dans le fichier de configuration :
|
||||
|
||||
~~~
|
||||
#replicate-ignore-db = foo
|
||||
~~~
|
||||
|
||||
2 - On fait un dump de cette base sur le *master* :
|
||||
|
||||
~~~
|
||||
# mysqldump foo > foo.sql
|
||||
~~~
|
||||
|
||||
3- On ré-injecte ce dump sur le *slave* :
|
||||
|
||||
~~~
|
||||
# mysql -o foo < foo.sql
|
||||
~~~
|
||||
|
||||
4- On redémarre MySQL (ou l'instance) sur le *slave*, pour qu'il relise le fichier de configuration et ignore l'exclusion de la base sur le slave :
|
||||
|
||||
~~~
|
||||
# systemctl restart mysql.service
|
||||
~~~
|
||||
|
||||
S'il s'agit d'une instance, exemple si l'instance se trouve sur le port 3307 :
|
||||
|
||||
~~~
|
||||
# mysqladmin -P 3307 shutdown
|
||||
# mysqld_multi start 1
|
||||
~~~
|
||||
|
||||
En cas de réplication master - master, avec un slave de chaque côté, il faut le faire des deux côtés.
|
||||
|
||||
Il existe d'autres méthodes, pour faire cela, celle-ci est la plus simple et elle a l'avantage de gérés les locks des tables, on ne doit pas le faire à la main.
|
||||
|
||||
## Contrôle de l'intégrité de la réplication
|
||||
|
||||
#### pt-table-checksum
|
||||
|
|
Loading…
Reference in New Issue