Ajout documentation sur mariabackup partiel

This commit is contained in:
emorino 2022-05-02 11:14:44 +02:00
parent cac0598509
commit 89fefefbdc

View file

@ -341,6 +341,67 @@ CHANGE MASTER TO
START SLAVE;
~~~
## Faire un backup partiel avec mariabackup
Il est possible de faire un backup partiel avec mariabackup, soit en excluant des bases et / ou des tables.
Pour que le backup partiel soit fonctionnel il faut que l'option ` innodb_file_per_table` soit bien activé.
Voici les options possible pour faire un backup partiel :
* `--databases` pour choisir quelles sont les bases à sauvegarder
* `--databases-exclude` pour choisir quelle sont les bases à exclure du mariabackup
* `--databases-file` pour vérifié les fichier dans le chemin de backup pour une base
* `--tables` pour choisir quelles sont les tables à sauvegarder
* `--tables-exclude` pour choisir quelles sont les tables à exclure du mariabackup
* `--tables-file` pour vérifié les fichier dans le chemin de backup pour une table
Toutes ces options supportent les wildcard, par exemple `--databases=test_*`
### Création d'un backup partiel
Pour sauvegarder que la base `evotest` on peux faire un mariabackup comme ceci :
~~~
# mariabackup --backup --target-dir=/home/mariabackup/ --databases='evotest' --user=mariabackup --password=foobar
~~~
Le temps de backup dépend de la taille de la base, vous pouvez arrêter le mariabackup a tout moment, le processus de backup ne modifie pas la base de données.
*Attention* : Mariabackup ne peux pas actuellement sauvegarder un sous ensemble de tables partitionnée, la sauvegarde d'une table partitionnée est une sélection de tout ou rien.
### Préparation du backup partiel
Comme avec les backups complet, a ce stade la backup fait par mariabackup n'est pas cohérent au moment où le backup a été fait (point-in-time consistent).
Si vous essayez de restaurer à partir de ces fichiers, InnoDB remarque les incohérences, et arrête le processus de démarrage pour protéger la base de données de la corruption de données.
Pour les sauvegardes partielles, la sauvegarde n'est pas un répertoire de données MariaDB complètement fonctionnel, donc InnoDB générerait plus d'erreurs que pour les sauvegardes complètes. Ce point sera également très important à garder à l'esprit lors du processus de restauration.
Il faut donc préparé le backup, avant le processus de restauration, pour qu'il soit cohérent.
Les sauvegardes partielles reposent sur les tablespace InnoDB.
Pour que MariaDB importe des tablespaces, InnoDB recherche un fichier avec une extension .cfg, pour que Mariabackup crée ces fichiers, vous devez également ajouter l'option --export lors de l'étape de préparation.
~~~
# mariabackup --prepare --export --target-dir=/home/mariabackup/
~~~
Si cette commande de retourne pas d'erreurs, le backup peut être prêt a être restauré.
### Restauration du backup partiel
Comme dit précédemment, un backup partiel repose sur les tablespace InnoDB, donc le processus de restauration et très différents que celui d'un backup complet.
Plutôt que d'utilisé les options `--copy-back` ou `--move-back`, chaque fichier individuel d'espace de table fichier par table InnoDB devra être importé manuellement dans le serveur cible.
Le processus utilisé pour importer le fichier dépendra de l'implication ou non du partitionnement.
#### Restauration de tables individuelle non partitionnées
Pour restauré les tables individuelle non partitionnées à partir de la sauvegarde, recherchez les fichiers .ibd et .cfg de la table dans la sauvegarde, puis importez-les à l'aide du processus [Importation de tablespace pour les tables non partitionnées.](https://mariadb.com/kb/en/innodb-file-per-table-tablespaces/#importing-transportable-tablespaces-for-non-partitioned-tables)
#### Restauration de tables individuelle partitionnées
Pour restauré les tables partitionnées, ont se basera également sur les fichier .idb et .cfg du backup partiel, mais avec l'aide du processus [Importation de tablespace pour les tables partitionnées](https://mariadb.com/kb/en/innodb-file-per-table-tablespaces/#importing-transportable-tablespaces-for-partitioned-tables)
## Fonctionnement de MariaBackup
Voici les différentes étapes du fonctionnement de MariaBackup lors d'un backup complet.