La sauvegarde Mysqldump a certaines de ses propres caractéristiques (table de verrouillage, sauvegarde essentiellement des scripts d'insertion ou du texte, et ne prend pas en charge la sauvegarde différentielle), elle n'est donc pas adaptée aux situations qui nécessitent un temps réel élevé performances
Xtrabackup peut résoudre certains des problèmes ci-dessus de mysqldump et sera davantage utilisé dans les environnements de production.
Cet article teste brièvement l'opération de sauvegarde et de restauration de Xtrabackup sur la base de données MySQL.
Conformément au principe de déployer d'abord les fonctions puis d'entrer dans les détails, nous avons grossièrement mis en place une sauvegarde et une restauration sans entrer dans les détails.
Il existe de nombreux articles xtrabackup sur Internet. Parce que l'environnement est différent, certains doivent configurer les fichiers de configuration xtrabackup
Mais lorsque j'ai testé sous la version 2.4.7 de xtrabackup, je n'ai eu besoin d'aucun fichier de configuration. . Les détails peuvent être différents dans chaque version, alors faites attention à la version et à l'environnement lorsque vous faites référence aux documents de référence.
sauvegarde innobackupex
Les versions de xtrabackup et MySQL sont les suivantes
Sauvegarde complète
innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/var/lib/mysql/mysql.sock /data/backup
Remarque :
1.--defaults-file=/etc/my.cnf le fichier doit être au premier plan
2.--user=root --password=root, --use=** * Il doit y avoir un espace entre --password=***,
Comme indiqué dans la capture d'écran, la sauvegarde complète est terminée
Comme indiqué dans la capture d'écran, la sauvegarde complète créera une date (Aaaa-MM-jj_hh-mm-ss) La mémoire de la sauvegarde complète du fichier nommé
est en fait une copie du fichier de données de la base de données sauvegardée plus quelques informations générées lors de la sauvegarde,
Par exemple, xtrabackup_checkpoints contient des informations sur la sauvegarde complète en cours. Ces informations sont très importantes pour la sauvegarde différentielle.
Sauvegarde différentielle
La raison pour laquelle la sauvegarde différentielle peut faire la différence est qu'elle repose sur la sauvegarde complète une fois la sauvegarde complète effectuée sur la base. de la sauvegarde complète Sauvegarde différentielle.
La façon de déterminer où sauvegarder après une sauvegarde complète dépend du fichier xtrabackup_checkpoints après la sauvegarde complète.
innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/var/lib/mysql/mysql.sock --incremental /data/backup --incremental -basedir=/data/backup/2017-06-22_13-40-29
Comme le montre la capture d'écran, la sauvegarde différentielle est terminée
Si en cours Lors de la sauvegarde différentielle, si le fichier de sauvegarde complète spécifié est erroné ou si le fichier de sauvegarde complète n'est pas spécifié, vous constaterez que xtrabackup vous indique que le fichier xtrabackup_checkpoints est introuvable.
restauration innobackupex
Phase de préparation
1 , restaurez la sauvegarde complète, c'est-à-dire le journal complet de l'application de sauvegarde (--apply-log)
innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only --socket =/var /lib/mysql/mysql.sock /data/backup/2017-06-22_13-40-29
2, appliquez respectivement la sauvegarde incrémentielle à la sauvegarde complète
innobackupex --defaults - file=/etc/my.cnf --apply-log --redo-only --socket=/var/lib/mysql/mysql.sock --incremental /data/backup/2017-06-22_13- 40 -29 --incremental-basedir=/data/backup/2017-06-22_13-41-48
S'il existe plusieurs sauvegardes différentielles, appliquez la différences séparément Sauvegarde vers une sauvegarde complète.
Phase de récupération
1. Après avoir appliqué toutes les sauvegardes différentielles à la sauvegarde complète, copiez la sauvegarde différentielle restaurée dans le répertoire de données d'origine
Par défaut, si il y a des fichiers dans le chemin des données, la copie échoue et les fichiers dans le chemin du fichier de données doivent être effacés.
innobackupex --copy-back /data/backup/2017-06-22_13-40-29
Comme indiqué dans la capture d'écran, complétez la copie
>
2. Démarrez le service MySQL Démarrez le service MySQL et constatez que le démarrage a échoué Regardez le journal des erreurs (erreur de démarrage message), mysql5.7yum Le journal des erreurs par défaut installé se trouve dans /var/log/mysqld.log et ne défile pas par défaut, ce qui signifie que tous les messages d'erreur sont enregistrés dans ce fichier. Une fois le fichier de données restauré, vous devez lire le chemin du fichier de données pour accorder les autorisations de lecture et d'écriture Ici, autorisez directement le chemin du fichier de données 777, chmod -R 777 /var/ lib/mysql
Ensuite, démarrez le service mysql et il pourra démarrer normalement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!