Heim  >  Artikel  >  Datenbank  >  Ausführliche Erläuterung der MySQL-Sicherung und -Wiederherstellung

Ausführliche Erläuterung der MySQL-Sicherung und -Wiederherstellung

黄舟
黄舟Original
2017-03-01 13:43:041142Durchsuche

MySQL-Datensicherung

In MySQL gibt es logische Backups und physische Backups. Der größte Vorteil der logischen Sicherung besteht darin, dass dieselbe Methode für die Sicherung verschiedener Speicher-Engines verwendet werden kann. Die physische Sicherung ist unterschiedlich und verschiedene Speicher-Engines verfügen über unterschiedliche Sicherungsmethoden.

Logische Sicherung und Wiederherstellung

Sicherung

In MySQL verwendet die logische Sicherung mysqldump, um die Daten in der Datenbank als Textdatei zu sichern. Die gesicherte Datei kann angezeigt werden und bearbeitet. Je nach Backup-Umfang kann das Backup in die folgenden drei Backup-Typen unterteilt werden.

  • Eine bestimmte Datenbank oder einige Tabellen in der Datenbank sichern
    mysqldump [Optionen] Datenbankname [Tabellenname] > data.sql

  • Mehrere angegebene Datenbanken sichern
    mysqldump [Optionen] –database > data.sql Datenbank 1 Datenbank 2 Datenbank 3...

  • Alle Datenbanken sichern
    mysqldump [Optionen] –all-database > data.sql
    Analyse: [Optionen] Beim Sichern erforderliche Berechtigungsinformationen usw. Es gibt viele Optionen für mysqldump, die über mysqldump –help angezeigt werden können. Um die Konsistenz der Datensicherung sicherzustellen, müssen Sie den Parameter -l hinzufügen, wenn sich die MySQL-Speicher-Engine im Norden befindet. Dies bedeutet, dass alle Tabellen während des Sicherungszeitraums nur gelesen werden , nicht geschrieben. Aber für die InnoDB-Engine kann –single-transaction verwendet werden. Von data.sql gesicherte Parameter der Datendatei
    :
    l: stellt das Sperren aller Tabellen dar
    f: stellt das Erzeugen einer neuen Datumsdatei dar

Die Instanz wird xxpt sein Alle Tabellen in der Datenbank werden in der Tabelle dequan.sql gesichert. Der Befehl lautet wie folgt:
mysqldump -uroot -p xxpt >dequan.sql
Ausführliche Erläuterung der MySQL-Sicherung und -Wiederherstellung
Da ich oben den Sicherungspfad nicht angegeben habe, erfolgt die Sicherung standardmäßig auf dem aktuellen Pfad , daher erfolgt die Sicherung nach D:wampbinmysqlmysql5. Der .6.17bin-Pfad ist ausgefallen.

Wiederherstellen

Vollständige Wiederherstellung

Mysqldump-Wiederherstellung ist ebenfalls sehr einfach, verwenden Sie einfach die Sicherung als Eingabe. Die Ergebnisse lauten wie folgt:
mysql -uroot -p dbname

Unvollständige Wiederherstellung

Die unvollständige Wiederherstellung umfasst eine zeitpunktbasierte Wiederherstellung und eine standortbasierte Wiederherstellung. Zeitpunkt und Position entsprechen dem Zeitpunkt und der Position im Binärprotokoll (Binlog-Protokoll).
Ausführliche Erläuterung der MySQL-Sicherung und -Wiederherstellung

Basierend auf dem Zeitpunkt

Wenn der Datenraum zwischen 16:00 und 17:00 Uhr falsch eingestellt ist, muss er während der Wiederherstellung übersprungen werden . Werfen wir zunächst einen Blick auf das Binlog-Protokoll. Beispielsweise ist das Aktualisieren von Daten nach 16:00 Uhr falsch und muss bei der Wiederherstellung übersprungen werden. Das Löschen von Daten nach 17:00 Uhr ist korrekt und muss beibehalten werden.
Ausführliche Erläuterung der MySQL-Sicherung und -Wiederherstellung
1. Über mysql -uroot -p dbname

Standortbasierte Wiederherstellung

Bei Verwendung der Standortwiederherstellung müssen wir zunächst die Binlog-Protokolldatei überprüfen, um dies festzustellen die Standortnummer und verwenden Sie dann den folgenden Befehl zum Wiederherstellen:
mysqlbinlog D:wampbinmysqlmysql5.6.17datamybinlog.000012 –stop-position=716406|mysql -uroot -p
Wiederherstellungsvorgänge nach 5 Punkten
D: wampbinmysqlmysql5.6.17datamybinlog .000012 –start-position=723613|mysql -uroot -p
Ausführliche Erläuterung der MySQL-Sicherung und -Wiederherstellung

Physische Sicherung und Wiederherstellung

Physische Sicherung ist in Kaltsicherung und Heißsicherung unterteilt . Im Vergleich zur logischen Sicherung liegt der größte Vorteil in der schnellen Sicherungs- und Wiederherstellungsgeschwindigkeit. Denn das Prinzip der physischen Sicherung basiert auf Datei-CP.

Kalte Sicherung und Wiederherstellung

Kalte Sicherung ist eigentlich eine Methode zum Stoppen des Datenbankdienstes und zum Kopieren der Datendateien. Diese Methode ist sowohl für MyISAM als auch für InnoDB geeignet.
Wiederherstellen: Stoppen Sie zuerst den MySQL-Dienst, stellen Sie die MySQL-Datendateien auf Betriebssystemebene wieder her, starten Sie dann den MySQL-Dienst neu und verwenden Sie das Mysqlbinlog-Tool, um alle Binlogs seit der Sicherung wiederherzustellen.

Hot-Backup

Das Hot-Backup verschiedener Speicher-Engines in MySQL ist unterschiedlich.

MyISAM-Speicher-Engine

Das Sicherungsprinzip der MyISAM-Speicher-Engine besteht darin, der zu sichernden Tabelle eine Lesesperre hinzuzufügen und dann die Datendatei in das Sicherungsverzeichnis zu kopieren. Häufig verwendete Methoden

  • Methode 1: Verwenden Sie mysqlhotcop
    mysqlhotcop db_name [Verzeichnis]

  • Methode 2: Tabellenkopie manuell sperren
    Fügen Sie zunächst Lesesperren für alle Tabellen in der Datenbank hinzu und kopieren Sie dann die Daten.
    Alle Tabellen mit Lesesperre sperren
    Ausführliche Erläuterung der MySQL-Sicherung und -Wiederherstellung

InnoDB-Speicher-Engine

Lernen...

Tabellenimport und -export

Exportieren

  • Verwenden Sie den Befehl SELECT …INTO OUTFILE …+[Optionen], um
    Die Optionsparameter lauten wie folgt
    Ausführliche Erläuterung der MySQL-Sicherung und -Wiederherstellung
    Der Standardpfad ist der Pfad, der den Daten entspricht:
    Ausführliche Erläuterung der MySQL-Sicherung und -Wiederherstellung
    Ausführliche Erläuterung der MySQL-Sicherung und -Wiederherstellung

  • Verwenden Sie mysqldump
    mysqldump - u Benutzername -T Zielverzeichnis Datenbankname Tabellenname[Optionen]
    Zum Beispiel:
    mysqldump -uroot -p -T D:/wamp/bin/mysql/mysql5.6.17/ xxpt t1
    Zwei Dateien werden generiert, wie gezeigt unten:
    Ausführliche Erläuterung der MySQL-Sicherung und -Wiederherstellung
    Dateninformationen werden in t1.txt gespeichert. Der Inhalt der t1.sql-Datei ist wie folgt

-- MySQL dump 10.13  Distrib 5.6.17, for Win32 (x86)
---- Host: localhost    Database: xxpt
-- ------------------------------------------------------
-- Server version   5.6.17-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
---- Table structure for table `t1`--DROP TABLE IF EXISTS `t1`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (  `id1` int(11) NOT NULL DEFAULT '0',  
`id2` int(3) unsigned zerofill NOT NULL DEFAULT '000') ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2016-04-18 19:30:51

Importieren

Methode 1:
Datenindatei laden
z. B.:
Datenindatei „D:/wamp/bin/mysql/mysql5.6.17/t1.txt“ in Tabelle t1 laden
Ausführliche Erläuterung der MySQL-Sicherung und -Wiederherstellung

Methode 2: Verwenden Sie mysqlinport

Das Obige ist die detaillierte Erklärung der MySQL-Sicherung und -Wiederherstellung. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn). )!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn