Maison  >  Article  >  base de données  >  MySQL introduit la sauvegarde et la récupération complètes

MySQL introduit la sauvegarde et la récupération complètes

coldplay.xixi
coldplay.xixiavant
2021-02-13 10:00:136525parcourir

MySQL introduit la sauvegarde et la récupération complètes

Recommandation d'apprentissage gratuite : Tutoriel vidéo MySQL

Répertoire d'articles

  • Avant-propos
  • 1. Sauvegarde complète MySQL
    • 1. Méthode de sauvegarde de la base de données en détail
      • 1.1 Sauvegarde de la base de données Importance
      • 1.2 Classification de la sauvegarde de base de données
        • 1.2.1 Sauvegarde physique
        • 1.2.2 Sauvegarde logique
        • 1.2 3 Complète. backup
        • 1.2.4 Sauvegarde différentielle
        • 1.2.5 Sauvegarde incrémentale
        • 1.2.6 Comparaison des méthodes de sauvegarde
      • 1.3 MySQL interprétation du concept de sauvegarde complète
    • 2. Exercice de sauvegarde mysqldump
      • 2.1 Utiliser tar pour empaqueter la sauvegarde de dossier
      • 2.2 Utiliser l'outil mysqldump sauvegarde
  • 2. Récupération complète de MySQL
    • 1. Restaurer l'intégralité de l'opération de la base de données
      • 1.1 commande source pour restaurer l'intégralité de la base de données
      • 1.2 commande MySQL pour restaurer l'intégralité de la base de données
    • Opération de table de récupération
      • 2.1 Utilisez la commande source pour restaurer la table
      • 2.2 Utilisez la commande mysql pour restaurer la table
    • 3. Idées de sauvegarde MySQL

Avant-propos

  • Avec le développement rapide de la bureautique et du e-commerce, les entreprises deviennent de plus en plus dépendantes sur les systèmes d'information. Les bases de données sont au cœur des systèmes d'information. Elles jouent un rôle important
  • La sauvegarde des bases de données est un moyen important pour restaurer des données importantes à temps et éviter la perte de données en cas de perte de données
  • Une solution de sauvegarde de base de données raisonnable, peut restaurer efficacement les données en cas de perte de données, et doit également prendre en compte la difficulté de mise en œuvre technique et d'utilisation efficace des ressources

1. MySQL sauvegarde complète

1. Conférence sur les méthodes de sauvegarde de base de données

1.1 L'importance de la sauvegarde de base de données

Dans un Dans un environnement de production, la sécurité des données est cruciale, toute perte de données peut avoir de graves conséquences

L'importance de la sauvegarde des bases de données se reflète principalement dans :

  1. Amélioration de la haute disponibilité et de la reprise après sinistre de la restauration du système, lorsque le système de base de données tombe en panne, les données ne peuvent pas être trouvées sans sauvegarde de la base de données
  2. L'utilisation de la sauvegarde de la base de données pour restaurer la base de données est la meilleure solution pour fournir le coût de récupération des données le plus bas en cas de panne de la base de données. l'utilisateur est autorisé à rajouter des données, Le prix est trop élevé
  3. Sans données, il n'y a rien La sauvegarde de la base de données est un moyen puissant de prévenir les catastrophes
<.>Dans le processus d'utilisation de la base de données, il existe de nombreuses raisons de perte de données :

    Erreur de programme : fait référence aux erreurs inévitables dans le programme d'exploitation de la base de données, entraînant une perte de données
  1. Erreur humaine : fait référence aux données causées par une mauvaise utilisation de l'utilisateur. Détruites, il peut également y avoir une perte de données causée par des pirates informatiques attaquant le système.
  2. Panne informatique : fait référence aux dommages causés au système d'exploitation du serveur ou au logiciel exécutant la base de données. , ce qui peut endommager les données
  3. Panne de disque : fait référence aux périphériques matériels tels que les disques durs qui stockent des données, qui peuvent être endommagés après un fonctionnement à long terme, entraînant une perte de données

  4. Catastrophes (telles que comme les incendies, les tremblements de terre) et le vol : fait référence à la survenance de catastrophes naturelles, etc., qui peuvent entraîner une perte de données
La perte de données entraînera de graves pertes économiques. La base de données de Ctrip est tombée en panne le 28 mai 2015, avec une perte horaire d'environ 1,06 million de dollars américains
  • Ainsi, dans la construction de systèmes d'information d'entreprise, la gestion des sauvegardes de bases de données est très importante
  • 1.2 Classification de sauvegarde de base de données

Il existe de nombreux types de méthodes de sauvegarde, allant de la physique à la sauvegarde. D'un point de vue logique, les sauvegardes peuvent être divisées dans les catégories suivantes :

1.2.1 La sauvegarde physique

fait référence aux fichiers physiques du système d'exploitation de la base de données (tels que les fichiers de données, les fichiers journaux, etc.)
  • La sauvegarde physique peut être divisée en sauvegarde hors ligne (sauvegarde à froid) et sauvegarde en ligne (sauvegarde à chaud)
  • Sauvegarde à froid (sauvegarde hors ligne) : effectuée lorsque la base de données est fermée L'opération de sauvegarde peut mieux garantir l'intégrité de la base de données
  • Sauvegarde à chaud (sauvegarde en ligne) : opérer dans l'état d'exécution de la base de données. Cette méthode de sauvegarde s'appuie sur le fichier journal de la base de données
  • 1.2.2 Sauvegarde logique

fait référence à la sauvegarde des composants logiques de la base de données. (tels que les tables et autres objets de base de données)
Du point de vue de la stratégie de sauvegarde de base de données, la sauvegarde peut être divisée en sauvegarde complète, sauvegarde différentielle et sauvegarde incrémentielle

1.2.3 Sauvegarde complète

  • Une sauvegarde complète des données à chaque fois
  • Peut sauvegarder l'intégralité de la base de données, y compris les tables utilisateur, les tables système, les index, les vues et Tous les objets de base de données tels que les procédures stockées
  • Mais cela prend plus de temps et d'espace, donc le cycle de sauvegarde complète est plus long

1.2.4 Sauvegarde différentielle

  • Sauvegardez les fichiers qui ont été modifiés depuis la dernière sauvegarde complète, c'est-à-dire sauvegardez uniquement le contenu de la partie base de données
  • Elle est plus petite que la sauvegarde complète d'origine car elle ne contient que les fichiers depuis la dernière sauvegarde complète L'avantage de la base de données qui a été modifiée depuis
  • est un stockage et une récupération rapides

1.2.5 Sauvegarde incrémentielle

  • Uniquement ceux qui ont été entièrement restaurés la dernière fois. Seuls les fichiers modifiés seront sauvegardés après une sauvegarde ou une sauvegarde incrémentielle

1.2.6 Comparaison des méthodes de sauvegarde

备份方式 完全备份 差异备份 增量备份
完全备份时的状态 表1、表2 表1、表2 表1、表2
第1次添加内容 创建表3 创建表3 创建表3
备份内容 表1、表2、表3 表3 表3
第2次添加内容 创建表4 创建表4 创建表4
备份内容 表1、表2、表3、表4 表3、表4 表4
  • La sauvegarde complète sauvegarde le contenu de l'intégralité de la base de données à chaque fois
  • La sauvegarde différentielle est sauvegardée après le premier ajout de contenu, c'est-à-dire que le contenu nouvellement ajouté est sauvegardé après le second ; ajout de la sauvegarde de contenu, le contenu ajouté pour la première fois est également sauvegardé en fonction de l'état de la sauvegarde complète
  • La sauvegarde différentielle sauvegarde toutes les modifications après la sauvegarde complète à chaque fois, indépendamment. si cela a été fait auparavant. Sauvegarde différentielle
  • La sauvegarde incrémentielle sauvegarde uniquement chaque contenu nouvellement modifié. La première fois que vous créez le tableau 3, vous sauvegardez le tableau 3. Après avoir ajouté le tableau 4 pour la deuxième fois, le tableau. 3 a déjà été sauvegardé, donc seul le contenu du tableau 4 est sauvegardé

1.3 Interprétation du concept de sauvegarde complète MySQL

  • Sauvegarde MySQL. les méthodes incluent principalement la sauvegarde complète et la sauvegarde incrémentielle
  • La sauvegarde complète est une sauvegarde de l'intégralité de la base de données, de la structure de la base de données et de la structure des fichiers. Elle enregistre la base de données au moment où la sauvegarde est terminée et constitue la base de la sauvegarde incrémentielle.
  • L'avantage de la sauvegarde complète est que l'opération de récupération est simple et pratique, mais l'inconvénient est qu'il y a beaucoup de duplication de données, occupant beaucoup d'espace de sauvegarde et que la durée de sauvegarde est longue
  • Dans un environnement de production, les deux méthodes de sauvegarde sont utilisées et un plan raisonnable et efficace doit être développé pour réaliser la sauvegarde. Le but des données est d'éviter les conséquences graves d'une perte de données

2.exercice de sauvegarde mysqldump

  • La base de données MySQL peut être sauvegardée de deux manières
  • Étant donné que la base de données est en fait un fichier, vous pouvez directement empaqueter le dossier de la base de données , ou utilisez l'outil de sauvegarde spécial mysqldump pour effectuer un travail de sauvegarde

2.1 Utilisez tar pour empaqueter la sauvegarde du dossier

  • Les fichiers de base de données MySQL sont enregistrés dans le dossier de données du répertoire sécurisé par défaut. Vous pouvez enregistrer le dossier de données directement. Parce qu'il prend beaucoup de place, vous pouvez utiliser le packaging et la compression des données pour l'enregistrer
    MySQL introduit la sauvegarde et la récupération complètes
yum -y install xz#数据库文件很大,可以使用压缩率较大的xz格式压缩,首选需要安装xz压缩格式工具tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/#对数据库文件夹进行打包操作ls /opt#查看打包命令是否运行成功,已经生成了备份文件du -sh /opt/mysql-2021-02-05.tar.xz #对比打包前后的文件大小,可以看到压缩的备份文件所占用空间很小tar -Jxvf /opt/mysql-2021-02-05.tar.xz -C /usr/local/mysql/data/systemctl restart mysql#如果数据库文件损坏数据丢失,可以解压缩文件,相当于数据恢复
.

MySQL introduit la sauvegarde et la récupération complètes

2.2 Utilisez l'outil mysqldump pour sauvegarder

  • La démonstration ci-dessus est pour MySQL La façon de compresser le répertoire de l'intégralité La base de données consiste à sauvegarder tout le contenu de la base de données
  • mysqldump est un programme utilitaire (inclus) utilisé par mysql pour transférer la base de données de stockage. Il génère principalement un script SQL, qui inclut sa recréation à partir de zéro. Commandes nécessaires à la base de données (telles que CREATE, TABLE, INSERT, etc.)
  • L'utilisation de mysqldump permet de contrôler de manière plus flexible le contenu de la sauvegarde. Par exemple, certaines tables ou bibliothèques peuvent être sauvegardées séparément
  • .
#开始之前,创建库和表,用作例子mysql -uroot -p123123#输入密码进入数据库,以上为我的密码create database SCHOOL;#创建库use SCHOOL;create table CLASS01 ( id int(2) not null auto_increment, name varchar(10) not null, sex char(5) not null, hobby varchar(10), primary key (id));#创建表结构#字段一:id,最大显示长度2,不能为空,自动递增从1开始#字段二:name,可变长度字段,10,不能为空#字段三:sex,固定长度5,不能为空#字段四:hobby,可变长度,最多10字符#字段四:主键(id)insert into CLASS01 values(1,'wangyi','man','reading');insert into CLASS01 values(2,'wanger','woman','singing');#插入2条数据select * from CLASS01;#检查一下quit#退出数据库

MySQL introduit la sauvegarde et la récupération complètes

#使用 mysqldump 对某些表进行完全备份,命令格式如下:mysqldump -u[用户名] -p[密码] [选项] [数据库名] [数据表名] > /备份路径/备份文件名.sql#导出的为数据库脚本文件例:对库SCHOOL中的表class进行备份至/opt/目录下mysqldump -uroot -p[密码] SCHOOL CLASS01 > /opt/test01.sql

MySQL introduit la sauvegarde et la récupération complètes

#对某些库进行完全备份mysqldump -uroot -p[密码] [数据库名] > /目录/备份文件名.sql例:mysqldump -uroot -p123123 SCHOOL > /opt/test02#对多个库进行完全备份mysqldump -uroot -p123123 --databases SCHOOL sys > /opt/test03.sql#对所有库进行完全备份mysqldump -uroot -p123123 --all-databases > /opt/test04.sql#直接备份表结构mysqldump -uroot -p123123 -d SCHOOL CLASS01 > /opt/test05.sqlls /opt/#查看打包命令是否运行成功,已经生成了备份文件

MySQL introduit la sauvegarde et la récupération complètes
MySQL introduit la sauvegarde et la récupération complètes

cat /opt/test05.sql#分析 mysqldump 工具生成的备份文件的内容

MySQL introduit la sauvegarde et la récupération complètes

  • L'option -d est utilisée ci-dessus, ce qui signifie que seule la structure des tables de la base de données est enregistrée et qu'il n'y a qu'une seule bibliothèque dans la table. Vous pouvez voir que la table (du même nom) est supprimée. d'abord, puis il est créé
  • La suppression et la création sont les plus courantes Toute commande MySQL est une instruction exécutable dans MySQL Avec ces instructions, vous pouvez créer une table avec la même structure que la table actuelle
  • .
  • Si vous n'utilisez pas l'option -d, les données seront également sauvegardées, voyons comment les données sont enregistrées
cat /opt/test01

MySQL introduit la sauvegarde et la récupération complètes

  • Vous pouvez voir que la différence avec l'utilisation du paramètre -d est que l'instruction insert into apparaît à la fin. Deux éléments de données ont été insérés dans la base de données, c'est-à-dire que la sauvegarde des données est l'instruction insert enregistrée. opération
  • Grâce à l'analyse ci-dessus, il est facile de comprendre que l'essence de la sauvegarde est de sauvegarder l'instruction de création et la structure actuelle de la base de données. Avec les instructions d'insertion de données, vous pouvez directement restaurer l'état de la base de données.

2. Récupération complète de MySQL

  • Introduction précédente Pour une sauvegarde complète de la base de données, utilisez l'outil mysqldump pour sauvegarder les données instructions de création dans le fichier de script de sauvegarde
  • Lorsque des erreurs se produisent, vous pouvez utiliser les méthodes suivantes pour les restaurer

Restaurer l'intégralité du fonctionnement de la base de données

1.1 commande source pour restaurer l'intégralité de la base de données

mysql -uroot -p123123show databases;drop database SCHOOL;show databases;source /opt/test03.sql#之前备份过的,该备份为SCHOOL和sys两个库的完整备份#注意!选项得加“--databases”才是完整的备份,不然会恢复不了

MySQL introduit la sauvegarde et la récupération complètes

1.2 commande MySQL récupération complète de la base de données

quitmysql -uroot -p123123 -e 'drop database SCHOOL;'mysql -uroot -p123123 -e 'SHOW DATABASES;'mysql -uroot -p123123  <p><img src="https://img.php.cn/upload/article/000/000/052/46d75be18c0819b67f9c8259bacd7776-9.png" alt="MySQL introduit la sauvegarde et la récupération complètes"></p><p>2. L'opération de restauration de la table<strong></strong></p>
    peut également être utilisée pour restaurer les tables de données Commande source et opérations de commande mysql

2.1 Utilisez la commande source pour restaurer la table

mysql -uroot -p123123use SCHOOL;show tables;drop table CLASS01;
 source /opt/test01.sql#恢复表show tables;select * from CLASS01;#查看

MySQL introduit la sauvegarde et la récupération complètes
MySQL introduit la sauvegarde et la récupération complètes

2.2 使用 mysql 命令恢复表

quitmysql -uroot -p123123 -e 'SHOW TABLES FROM SCHOOL;'mysql -uroot -p123123 -e 'DROP TABLES SCHOOL.CLASS01;'mysql -uroot -p123123 -e 'SHOW TABLES FROM SCHOOL;'mysql -uroot -p123123 SCHOOL <p><img src="https://img.php.cn/upload/article/000/000/052/29945f61915e1a240cc5e16f53f849e5-12.png" alt="MySQL introduit la sauvegarde et la récupération complètes"></p><p><strong>3.MySQL 备份思路</strong></p>
  • MySQL 需要定期实施备份,指定合适的备份计划或策略,并严格遵守
  • 除了进行完全备份,开启 MySQL 服务器的日志功能也很重要,完全备份加上日志,可以对 MySQL 进行最大化还原
  • 备份文件的名字还需钥使用统一的易于理解的名称,推荐使用库名或表名加上时间的命名规则,在需要恢复数据库时能很容易的定位到相应的所需备份文件

相关免费学习推荐:mysql数据库(视频)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:Module de journalisation MySQLArticle suivant:Module de journalisation MySQL