Sichern und Wiederherstellen von MySQL-Datenbanken (Windows-Version)

Diese Seite wurde aktualisiert :
Erstellungsdatum der Seite :

Betriebsumgebung

MySQL (MySQL)
  • MySQL 8.0 Community Edition
Fenster
  • Windows 11

Voraussetzungen

MySQL (MySQL)
  • MySQL 8.0
Fenster
  • Windows 11
  • Windows 10 (Englisch)
Windows Server
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

Vorbedingung

  • Eine Datenbank für MySQL ist installiert.
  • Die zu sichernde Datenbank ist bereits vorhanden.
  • Sie haben Umgebungsvariablen festgelegt, damit Sie mysql über die Eingabeaufforderung ausführen können.

Welche Arten von Backups gibt es?

Obwohl hier nicht im Detail darauf eingegangen, verfügt MySQL über die folgenden Arten von Backups:

SicherungsbefehleSicherungsdatentypenBemerkungen
mysqldump Logische Sicherungen Eine uralte Backup-Methode. Die GUI verwendet dies ebenfalls
mysqlpump Logische Sicherungen Verbesserte Version von mysqldump
MySQL Shell Instance Dump Utility und Dump Loading Utility Logische Sicherungen Das derzeit aktuellste logische Backup
Percona XtraBackup Physische Backups Unterstützung von Drittanbietern für physische Backups
CLONE-PLUGIN Physische Backups Offizielle physische Backups von MySQL. Sie müssen jedoch ein Plug-In hinzufügen.

Sichern von Datenbanken mit der GUI (MySQL Workbench)

Wenn Sie sicher in der GUI arbeiten möchten, ohne Befehle zu verwenden, können Sie mit MySQL Workbench sichern. Die Art der Sicherung, die von MySQL Workbench durchgeführt wird, ist "mysqldump".

Starten Sie MySQL Workbench.

Wählen Sie die Verbindung aus, die die Datenbank enthält, die Sie sichern möchten.

Wählen Sie bei der zu sichernden Datenbank im Navigator auf der linken Seite die Registerkarte Verwaltung aus, und wählen Sie dann Datenexport aus.

Der Bildschirm Datenexport wird geöffnet. Der Bildschirm ist relativ breit, also erweitern Sie das Fenster, bis Sie unten rechts die Schaltfläche "Export starten" sehen können.

Wählen Sie zunächst die Datenbanken aus, die Sie sichern möchten. Sie können auch mehr als eine auswählen.

Unter "Zu exportierende Objekte" können Sie auch Prozeduren und Auslöser sichern. Dieses Feld ist optional.

Unter "Exportoptionen" können Sie die folgenden beiden Optionen auswählen.

Typ Beschreibung
In Dump-Projektordner exportieren Ausgabe in einem angegebenen Ordner als Tabellen- oder Prozedurdatei.
Exportieren in eine eigenständige Datei Betten Sie alles in eine einzige Datei ein und geben Sie es aus.

Es spielt keine Rolle, auf welche Weise Sie ausgeben. Die obige Auswahl lässt sich leicht entfernen, wenn Sie nur eine bestimmte Tabelle wiederherstellen möchten. Die folgende Auswahl wird in eine einzelne Datei ausgegeben, was das Verschieben und Verwalten von Dateien als Datenbankeinheit erleichtert. In diesem Fall habe ich folgendes ausgewählt.

Nachdem Sie die Einstellungen vorgenommen haben, klicken Sie auf die Schaltfläche "Export starten" in der unteren rechten Ecke, um den Export zu starten.

Der Export wird gestartet und abgeschlossen.

Wenn Sie es als einzelne Datei ausgeben, sieht es wie folgt aus:

Wenn Sie in einen Ordner exportieren, sieht dies wie folgt aus:

Wiederherstellen einer Datenbank mit der GUI (MySQL Workbench)

Öffnen Sie MySQL Workbench, wählen Sie eine Verbindung aus, wählen Sie im Navigator auf der linken Seite die Registerkarte Verwaltung und wählen Sie Datenimport/-wiederherstellung aus. Da "Importieren/Wiederherstellen" angezeigt wird, können Sie eine neue Datenbank aus der exportierten Datei erstellen oder die ursprüngliche Datenbank überschreiben.

Erweitern Sie das Fenster, bis Sie in der unteren rechten Ecke die Schaltfläche "Import starten" sehen.

Wählen Sie "Importoptionen" entsprechend dem exportierten Dateiformat. Da ich dieses Mal als einzelne Datei exportiert habe, habe ich unten "Aus eigenständiger Datei importieren" ausgewählt und die exportierte Datei angegeben.

Wählen Sie das Schema (Datenbank) aus, das Sie wiederherstellen möchten. Sie können eine vorhandene Datenbank wiederherstellen oder sie als neue Datenbank wiederherstellen, indem Sie auf die Schaltfläche "Neu" auf der rechten Seite klicken.

Nachdem Sie die Spezifikationen angegeben haben, klicken Sie unten rechts auf die Schaltfläche "Import starten", um die Wiederherstellung zu starten.

Sobald die Wiederherstellung abgeschlossen ist, stellen Sie sicher, dass Ihre Daten wieder vorhanden sind.

Erstellen eines Kontos für die Datenbanksicherung per Befehl

Es ist kein Problem, wenn Sie einen einzelnen Befehl ausführen und sichern, aber wenn Sie z. B. den Befehl im Voraus als Datei vorbereiten und ausführen, müssen Sie das Passwort im Klartext schreiben, daher ist es sicherer, ein separates Konto für die Backup-Ausführung zu erstellen.

Einige der Berechtigungen, die für die Sicherung erforderlich sind, können je nach den erforderlichen Informationen erhöht oder verringert werden.

  • EREIGNIS
  • TABELLEN SPERREN
  • AUSWÄHLEN
  • ANSICHT ANZEIGEN

Wenn Sie es mit einem Befehl erstellen, sieht es so aus. Verwenden Sie das MySQL-Befehlszeilentool.

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

Beispiel

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

Ordnerberechtigungen für das Sicherungsziel

Die Berechtigungen des Ordners, in dem die Sicherungsdatei gespeichert ist, müssen auf die gleiche Weise festgelegt werden wie die Berechtigungen zum Ausführen des Befehls. Wenn Sie den Befehl mit Administratorrechten ausführen, müssen Sie keine zusätzlichen Berechtigungen für den Ordner festlegen.

Sichern einer Datenbank mit dem Befehl (mysqldump)

Es gibt mehrere Backups per Befehl, aber dieses Mal werden wir mit "mysqldump" sichern, das schon lange verwendet wird und stabil ist.

Klicken Sie mit der rechten Maustaste auf das Startmenü, um Terminal (Eingabeaufforderung) zu starten. Beachten Sie, dass es sich nicht um "MySQL 8.0 Command Line Client" handelt.

Sie können es mit dem folgenden Befehl sichern:

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

Beispiel

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 Wenn Sie den gleichen Zeichencode wie beim Sichern in der GUI angeben, ist dieser derselbe wie beim Sichern in der GUI. Auf diese Weise können Sie es auch in der GUI importieren.
  • Fügen Sie kein Leerzeichen zwischen dem Kennwortfeld und -p dem Kennwort ein.
  • Wenn Sie auch Tablespace-Informationen ausgeben möchten, --no-tablespaces entfernen Sie . In diesem Fall müssen die Berechtigungen des ausgeführten Benutzers . PROCESS

Eine Sicherungsdatei wird am angegebenen Speicherort erstellt.

Wiederherstellen einer Datenbank mit dem Befehl (mysqldump)

Die Dateien, die von mysqldump gesichert werden, liegen in einem Format vor, das in SQL ausgeführt werden kann, so dass Sie nur das Ziel-SQL ausführen müssen. Ich denke, dass die meisten Wiederherstellungen manuell durchgeführt werden, so dass es kein Problem ist, wenn Sie es als Root-Konto ausführen.

Wenn Sie es über einen Befehl ausführen möchten, führen Sie es an der Eingabeaufforderung anstelle von PowerShell aus. Dies liegt daran, dass das Symbol nicht in < PowerShell verwendet werden kann.

Führen Sie den folgenden Befehl aus:

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

Beispiel

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

Automatisierte Datenbank-Backups

Unter Windows ist es üblich, den Taskplaner zu verwenden. Erstellen Sie zunächst eine Batch-Datei. Erstellen Sie eine BAT-Datei, geben Sie den Inhalt so ein, wie er durch den Befehl gesichert wurde, und speichern Sie sie. Die Zeichenkodierung wird mit Umschalt-JIS gespeichert. Der Speicherort und der Dateiname der Batchdatei sind beliebig.

Registrieren Sie sich beim Taskplaner. Klicken Sie mit der rechten Maustaste auf das Startmenü, und wählen Sie Computerverwaltung aus.

Wählen Sie im Menü auf der linken Seite die Option Computerverwaltung > Systemprogramme > Taskplaner > Taskplanerbibliothek aus. Wählen Sie "Aufgabe erstellen..." aus dem Menü auf der rechten Seite.

Konfigurieren Sie die Registerkarte Allgemein. "Name" wird in der Liste der Aufgaben angezeigt, geben Sie also einen Namen ein, der leicht verständlich ist. Aktivieren Sie in den Sicherheitsoptionen den Haken bei "Unabhängig davon ausführen, ob der Benutzer angemeldet ist oder nicht".

Im Reiter "Trigger" können Sie einstellen, wann das Backup durchgeführt werden soll. Stellen Sie diese Einstellung entsprechend Ihrem Betrieb ein.

Stellen Sie auf der Registerkarte "Vorgang" ein, dass die soeben erstellte Batch-Datei gestartet wird.

Bestätigen Sie nach dem Einstellen mit der OK-Taste.

Geben Sie Ihr Passwort ein, um sich für die Ausführung unter dem angegebenen Konto zu registrieren.

Prüfen Sie danach, ob das Backup zum angegebenen Zeitpunkt ausgeführt wird.