Sauvegarde et restauration de bases de données MySQL (version Windows)

Page mise à jour :
Date de création de la page :

Environnement d’exploitation

MySQL (en anglais)
  • MySQL 8.0 Édition Communauté
Windows
  • Fenêtres 11

Conditions préalables

MySQL (en anglais)
  • MySQL 8.0
Windows
  • Fenêtres 11
  • Fenêtres 10
Serveur Windows
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

condition préalable

  • Une base de données pour MySQL est installée.
  • La base de données à sauvegarder existe déjà.
  • Vous avez défini des variables d’environnement afin de pouvoir exécuter mysql à partir de l’invite de commande.

Quels sont les types de sauvegardes ?

Bien que cela ne soit pas discuté en détail ici, MySQL dispose des types de sauvegardes suivants :

de
CommandessauvegardeTypes de données de sauvegardeRemarques
mysqldump Sauvegardes logiques Une méthode de sauvegarde séculaire. L’interface graphique utilise également cette option
mysqlpump Sauvegardes logiques Version améliorée de mysqldump
Utilitaire de vidage d’instance de shell MySQL et utilitaire de chargement de vidage Sauvegardes logiques La sauvegarde logique la plus récente à l’heure actuelle
Percona XtraBackup Sauvegardes physiques Prise en charge par des tiers pour la sauvegarde physique
PLUGIN DE CLONAGE Sauvegardes physiques Sauvegardes physiques officielles de MySQL. Cependant, vous devez ajouter un plug-in.

Sauvegarde des bases de données avec l’interface graphique (MySQL Workbench)

Si vous souhaitez opérer en toute sécurité dans l’interface graphique sans utiliser de commandes, vous pouvez sauvegarder avec MySQL Workbench. Le type de sauvegarde effectué par MySQL Workbench sera « mysqldump ».

Démarrez MySQL Workbench.

Sélectionnez la connexion qui contient la base de données que vous souhaitez sauvegarder.

Une fois la base de données à sauvegarder, sélectionnez l’onglet Administration dans le navigateur sur la gauche, puis sélectionnez Exportation de données.

L’écran Exportation de données s’ouvre. L’écran est raisonnablement large, alors développez la fenêtre jusqu’à ce que vous puissiez voir le bouton « Démarrer l’exportation » en bas à droite.

Tout d’abord, sélectionnez les bases de données que vous souhaitez sauvegarder. Vous pouvez également en sélectionner plusieurs.

Dans « Objets à exporter », vous pouvez également choisir de sauvegarder les procédures et les déclencheurs. Ce champ est facultatif.

Dans « Options d’exportation », vous pouvez sélectionner les deux options suivantes.

Description du type
Exporter vers le dossier de projet de vidage Sortie dans un dossier spécifié sous la forme d’un fichier de table ou de procédure.
Exporter vers un fichier autonome Intégrez tout dans un seul fichier et sortez.

Peu importe la façon dont vous sortez. La sélection ci-dessus est facile à supprimer si vous souhaitez restaurer uniquement une table spécifique. La sélection ci-dessous génère un fichier unique, ce qui facilite le déplacement et la gestion des fichiers en tant qu’unité de base de données. Dans ce cas, j’ai sélectionné les éléments suivants.

Après avoir défini les paramètres, cliquez sur le bouton « Démarrer l’exportation » dans le coin inférieur droit pour lancer l’exportation.

L’exportation démarre et se termine.

Si vous le sortez sous la forme d’un seul fichier, il ressemblera à ceci :

Si vous exportez vers un dossier, il ressemblera à ceci :

Restauration d’une base de données avec l’interface graphique (MySQL Workbench)

Ouvrez MySQL Workbench, sélectionnez une connexion, sélectionnez l’onglet Administration dans le navigateur sur la gauche, puis sélectionnez Importation/restauration de données. Comme il est indiqué « Importer/Restaurer », vous pouvez créer une nouvelle base de données à partir du fichier exporté ou écraser la base de données d’origine.

Développez la fenêtre jusqu’à ce que vous voyiez le bouton « Démarrer l’importation » dans le coin inférieur droit.

Sélectionnez « Options d’importation » en fonction du format de fichier exporté. Comme j’ai exporté en un seul fichier cette fois-ci, j’ai sélectionné « Importer à partir d’un fichier autonome » ci-dessous et j’ai spécifié le fichier exporté.

Sélectionnez le schéma (base de données) dans lequel vous souhaitez effectuer la restauration. Vous pouvez restaurer une base de données existante ou la restaurer en tant que nouvelle base de données à partir du bouton « Nouveau » à droite.

Après avoir spécifié les spécifications, cliquez sur le bouton « Démarrer l’importation » en bas à droite pour lancer la restauration.

Une fois la restauration terminée, assurez-vous que vos données sont de retour.

Créer un compte pour la sauvegarde de la base de données par commande

Il n’y a pas de problème si vous exécutez une seule commande et que vous la sauvegardez, mais par exemple, si vous préparez la commande sous forme de fichier à l’avance et que vous l’exécutez, vous devez écrire le mot de passe en texte brut, il est donc plus sûr de créer un compte séparé pour l’exécution de la sauvegarde.

Certaines des autorisations requises pour la sauvegarde peuvent augmenter ou diminuer en fonction des informations requises.

  • ÉVÉNEMENT
  • VERROUILLER LES TABLES
  • CHOISIR
  • AFFICHER LA VUE

Si vous le créez avec une commande, il ressemblera à ceci. Utilisez l’outil de ligne de commande MySQL.

create user '<ユーザー名>'@'<ホスト名>' identified by '<パスワード>';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON <データベース名>.* TO '<ユーザー名>'@'<ホスト名>';
flush privileges;

exemple

create user 'backup_user'@'localhost' identified by 'password';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON test_database.* TO 'backup_user'@'localhost';
flush privileges;

Autorisations de dossier pour la destination de sauvegarde

Les autorisations du dossier dans lequel le fichier de sauvegarde est enregistré doivent être définies de la même manière que les autorisations d’exécution de la commande. Si vous exécutez la commande avec des privilèges d’administrateur, vous n’avez pas besoin de définir d’autorisations supplémentaires sur le dossier.

Sauvegarde d’une base de données avec la commande (mysqldump)

Il existe plusieurs sauvegardes par commande, mais cette fois-ci nous allons sauvegarder avec « mysqldump », qui est utilisé depuis longtemps et qui est stable.

Cliquez avec le bouton droit de la souris sur le menu Démarrer pour lancer Terminal (invite de commande). Notez qu’il ne s’agit pas d’un « client de ligne de commande MySQL 8.0 ».

Vous pouvez le sauvegarder à l’aide de la commande suivante :

mysqldump -u <ユーザー名> -p<パスワード> --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 <データベース名> > "<バックアップファイルパス>"

exemple

mysqldump -u backup_user -ppassword --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 test_database > "C:\Temporary\Backup.sql"

  • --default-character-set=utf8 Si vous spécifiez le même code de caractère que lors de la sauvegarde dans l’interface graphique, il sera le même que lors de la sauvegarde dans l’interface graphique. De cette façon, vous pouvez également l’importer dans l’interface graphique.
  • N’incluez pas d’espace entre le champ du mot de passe et -p le mot de passe.
  • Si vous souhaitez également afficher des informations sur le tablespace, --no-tablespaces supprimez . Dans ce cas, les autorisations de l’utilisateur en cours d’exécution doivent être . PROCESS

Un fichier de sauvegarde sera créé à l’emplacement spécifié.

Restauration d’une base de données avec la commande (mysqldump)

Les fichiers sauvegardés par mysqldump sont dans un format qui peut être exécuté en SQL, donc tout ce que vous avez à faire est d’exécuter le SQL cible. Je pense que la plupart des restaurations sont effectuées manuellement, il n’y a donc aucun problème si vous l’exécutez en tant que compte root.

Si vous souhaitez l’exécuter à partir d’une commande, exécutez-la à l’invite de commande au lieu de PowerShell. Cela est dû au fait que le symbole ne peut pas être utilisé dans < PowerShell.

Exécutez la commande suivante :

mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>

exemple

mysql -u root -ppassword test_database < C:\Temporary\Backup.sql

Sauvegardes automatisées des bases de données

Pour Windows, il est courant d’utiliser le planificateur de tâches. Tout d’abord, créez un fichier batch. Créez un fichier bat, entrez le contenu tel qu’il a été sauvegardé par la commande et enregistrez-le. L’encodage des caractères est sauvegardé avec Shift-JIS. L’emplacement et le nom de fichier du fichier batch sont arbitraires.

Inscrivez-vous au planificateur de tâches. Cliquez avec le bouton droit de la souris sur le menu Démarrer et sélectionnez Gestion de l’ordinateur.

Dans le menu de gauche, sélectionnez Gestion de l’ordinateur > Outils système > Planificateur de tâches > Bibliothèque du Planificateur de tâches. Sélectionnez « Créer une tâche... » dans le menu de droite.

Configurez l’onglet Général. « Nom » apparaîtra dans la liste des tâches, alors entrez un nom facile à comprendre. Dans les options de sécurité, cochez la case « Exécuter que l’utilisateur soit connecté ou non ».

Dans l’onglet « Déclencheur », vous pouvez définir le moment d’effectuer la sauvegarde. Réglez ce paramètre en fonction de votre fonctionnement.

Dans l’onglet « Opération », configurez-le pour lancer le fichier batch que vous venez de créer.

Après avoir réglé chacun d’entre eux, confirmez avec le bouton OK.

Entrez votre mot de passe pour vous inscrire sous le compte spécifié.

Après cela, vérifiez si la sauvegarde sera exécutée à l’heure spécifiée.