Sichern und Wiederherstellen von MySQL-Datenbanken für Windows

Erstellungsdatum der Seite :

Umgebung für die Betriebsbestätigung

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

Erforderliche Umgebung

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

Vorbedingung

  • MySQL-Datenbank muss installiert sein
  • Die zu sichernde Datenbank ist bereits vorhanden
  • Konfigurieren Sie Umgebungsvariablen und ermöglichen Sie das Ausführen von MySQL über die Eingabeaufforderung

Informationen zu Sicherungstypen

Ich werde hier nicht ins Detail gehen, aber MySQL hat die folgenden Arten von Backups:

backup command backup data type bemerkungen
mysqldump Logische Sicherung Eine alte Backup-Methode. Dies wird auch von der GUI verwendet
mysqlpump Logische Sicherung Verbesserte Version von mysqldump
MySQL Shell Instance Dump Utility und Dump Loading Utility Logische Sicherung Als logisches Backup ist es im Moment das neueste
Percona XtraBackup Physisches Backup Produkte von Drittanbietern, die physische Backups ermöglichen
KLON-PLUGIN Physisches Backup Offizielles physisches Backup von MySQL. Es werden jedoch zusätzliche Plugins benötigt

Sichern einer Datenbank mit einer GUI (MySQL Workbench)

Wenn Sie sicher in der GUI arbeiten möchten, ohne Befehle zu verwenden, können Sie ein Backup in MySQL Workbench durchführen. Der Sicherungstyp, der in MySQL Workbench ausgeführt wird, ist "mysqldump".

Starten Sie MySQL Workbench.

Wählen Sie die Verbindung mit der Datenbank aus, die Sie sichern möchten.

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

Das Fenster Datenexport wird geöffnet. Der Bildschirm ist ziemlich groß, erweitern Sie also das Fenster, bis Sie die Schaltfläche "Export starten" in der unteren rechten Ecke sehen.

Wählen Sie zunächst die Datenbank aus, die Sie sichern möchten. Sie können auch mehrere auswählen.

Unter "Zu exportierende Objekte" können Sie auswählen, ob auch Prozeduren, Trigger usw. gesichert werden sollen. Dieser Punkt ist optional.

Unter "Exportoptionen" können Sie aus den folgenden zwei Optionen wählen:

Beschreibung der Typen
In Dump-Projektordner exportieren Ausgabe als Tabelle oder prozedurweise Datei in einem bestimmten Ordner.
Exportieren in eine eigenständige Datei Betten Sie alles in eine einzige Datei ein und geben Sie sie aus.

Es spielt keine Rolle, welche Sie ausgeben. Wenn Sie sich für das Obige entscheiden, ist es einfach, da Sie es leicht entfernen können, wenn Sie nur eine bestimmte Tabelle wiederherstellen möchten. Die folgende Auswahl wird in einer einzelnen Datei ausgegeben, wodurch das Verschieben und Verwalten von Dateien als Datenbankeinheit vereinfacht wird. Diesmal habe ich folgendes ausgewählt.

Klicken Sie nach der Konfiguration unten rechts auf die Schaltfläche Export starten, um den Export zu starten.

Der Export wird gestartet und abgeschlossen.

Wenn Sie in einer einzelnen Datei ausgeben, sieht sie folgendermaßen aus:

Wenn Sie in einen Ordner exportieren, sieht es folgendermaßen aus:

Wiederherstellen einer Datenbank mit einer GUI (MySQL Workbench)

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

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

Bitte wählen Sie "Importoptionen" entsprechend dem exportierten Dateiformat aus. Da ich sie diesmal als einzelne Datei exportiert habe, habe ich unten "Import from Self-Contained File" ausgewählt und die exportierte Datei angegeben.

Wählen Sie das Schema (Datenbank) aus, das wiederhergestellt werden soll. Sie können eine vorhandene Datenbank wiederherstellen oder sie über die Schaltfläche "Neu" auf der rechten Seite als neue Datenbank wiederherstellen.

Klicken Sie nach der Angabe auf die Schaltfläche "Import starten" in der unteren rechten Ecke, um die Wiederherstellung zu starten.

Stellen Sie sicher, dass Ihre Daten wieder verfügbar sind, wenn die Wiederherstellung abgeschlossen ist.

Erstellen eines Kontos für die Datenbanksicherung per Befehl

Es ist kein Problem, wenn Sie einen Befehl zum einmaligen Sichern ausführen möchten, aber wenn Sie beispielsweise einen Befehl im Voraus als Datei vorbereiten und ausführen, müssen Sie das Kennwort im Klartext schreiben, sodass es sicherer ist, ein separates Konto für die Ausführung der Sicherung zu erstellen.

Die für die Sicherung erforderlichen Berechtigungen sind wie folgt, können jedoch 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 folgendermaßen aus: Führen Sie es mit dem MySQL-Befehlszeilentool aus.

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 für den Ordner, in dem die Sicherungsdatei gespeichert ist, müssen auf die gleiche Berechtigung wie die Berechtigung zum Ausführen des Befehls festgelegt werden. Wenn Sie Befehle mit der Administratorberechtigung ausführen möchten, müssen Sie keine zusätzlichen Berechtigungen für den Ordner festlegen.

Sichern einer Datenbank mit dem Befehl (mysqldump)

Es gibt mehrere Befehlssicherungen, aber dieses Mal werde ich mit dem alten und stabilen "mysqldump" sichern.

Klicken Sie mit der rechten Maustaste auf das Startmenü und starten Sie Terminal (Eingabeaufforderung). Bitte beachten Sie, dass es sich nicht um einen "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 hat den gleichen Zeichencode wie bei der Sicherung in der GUI. Auf diese Weise können Sie diese auch in die GUI importieren.
  • Setzen Sie kein Leerzeichen zwischen das Kennwortfeld -p und das Kennwort.
  • Wenn Sie auch Tablespace-Informationen ausgeben möchten, --no-tablespaces deaktivieren Sie bitte . In diesem Fall sind die Berechtigungen des Ausführungsbenutzers PROCESS erforderlich.

Eine Sicherungsdatei wird am angegebenen Speicherort erstellt.

Wiederherstellen einer Datenbank mit dem Befehl (mysqldump)

Die mit mysqldump gesicherten Dateien haben ein Format, das in SQL ausgeführt werden kann, sodass Sie nur die Ziel-SQL ausführen müssen. Ich denke, die Wiederherstellung wird oft manuell durchgeführt, daher ist es in Ordnung, sie auf dem Root-Konto auszufü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 PowerShell keine Symbole zulässt.

Führen Sie den folgenden Befehl aus:

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

Beispiel

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

Automatische Datenbanksicherung

Unter Windows ist es üblich, einen Taskplaner zu verwenden. Beginnen Sie mit der Erstellung einer Batch-Datei. Erstellen Sie eine bat-Datei, geben Sie den Inhalt so ein, wie er mit Befehlen gesichert wurde, und speichern Sie diese. Speichern Sie Zeichencodes mit Shift-JIS. Der Speicherort und der Dateiname der Batchdatei können beliebig sein.

Registrieren Sie sich beim Aufgabenplaner. Klicken Sie mit der rechten Maustaste auf das Startmenü und wählen Sie "Computer verwalten".

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

Legen Sie die Registerkarte Allgemein fest. Der "Name" wird in der Aufgabenliste angezeigt, geben Sie also einen Namen ein, der leicht verständlich ist. Aktivieren Sie in den Sicherheitsoptionen "Ausführen, unabhängig davon, ob der Benutzer angemeldet ist oder nicht".

Auf der Registerkarte Auslöser wird festgelegt, wann die Sicherung durchgeführt werden soll. Diese Einstellung sollte entsprechend Ihrer Bedienung eingestellt werden.

Legen Sie auf der Registerkarte Vorgänge fest, dass die soeben erstellte Batch-Datei gestartet wird.

Wenn Sie die einzelnen Einstellungen vorgenommen haben, bestätigen Sie sie mit der Schaltfläche OK.

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

Überprüfen Sie nun, ob das Backup zum angegebenen Zeitpunkt ausgeführt wird.