Heim > Datenbank > MySQL-Tutorial > So implementieren Sie eine vollständige Sicherung und inkrementelle Sicherung der MySQL-Datenbank

So implementieren Sie eine vollständige Sicherung und inkrementelle Sicherung der MySQL-Datenbank

WBOY
Freigeben: 2023-05-27 11:40:23
nach vorne
2340 Leute haben es durchsucht

Definition

Eine vollständige Sicherung besteht darin, alle Daten und alle Objekte in der Datenbank zu sichern.

Da es sich bei den Datendateien auf dem MySQL-Server um festplattenbasierte Textdateien handelt, besteht eine vollständige Sicherung darin, die Datenbankdatei zu kopieren, was der einfachste und schnellste Weg ist.

Allerdings sind die Datendateien des MySQL-Servers immer geöffnet, während der Server läuft. Um eine echte Vollsicherung zu erreichen, muss der MySQL-Datenbankserver zuerst gestoppt werden.

Um die Integrität der Daten sicherzustellen, müssen Sie vor dem Stoppen des MySQL-Servers die Flush-Tables-Anweisung ausführen, um alle Daten in die Datendatei zu schreiben. Die Studierenden müssen lediglich wissen, dass diese Methode nicht durchführbar ist, da es nicht ratsam ist, die Datenbank für die Sicherung in einer Produktionsumgebung anzuhalten.

Verwenden Sie den Befehl mysqldump, um Tabellen, Datenbanken und Datenbanksysteme zu sichern:

mysqldump [-h主机名] –u用户名 –p密码 --lock-all-tables --database [tables] > 文件名
Nach dem Login kopieren

-h Hostname, der weggelassen werden kann, stellt den lokalen Server dar, --lock-all-tables wendet Lesesperren auf alle Tabellen an Die zu sichernde Datenbank (Während dieses Vorgangs befindet sich die Datenbank ausschließlich im schreibgeschützten Zustand), kann auf --database die Tabelle folgen, die gesichert werden muss. Wenn der Tabellenname nicht angegeben ist, bedeutet dies, dass die Datenbank gesichert werden muss gesamte Datenbank.

Vollständige Demonstration von Sicherung und Wiederherstellung

Bereiten Sie eine Schülertabelle vor und erstellen Sie die Tabelle in der Weltdatenbank.

Tabelle erstellen:

CREATE DATABASE world;
USE world;
CREATE TABLE student(
    stuId INT(10) NOT NULL,
    stuName VARCHAR(10) NOT NULL,
    stuAge INT(10) NOT NULL,
    PRIMARY KEY(stuId)
    );
Nach dem Login kopieren

Daten einfügen:

INSERT INTO student(stuId, stuName, stuAge) VALUES(1, 'zhangsan', 18), (2, 'lisi', 19),(3, 'wangwu', 18);
Nach dem Login kopieren

So implementieren Sie eine vollständige Sicherung und inkrementelle Sicherung der MySQL-Datenbank

Verwenden Sie die flush tables;-Anweisung, um alle Daten in die Datendatei zu schreiben:

FLUSH TABLES;
Nach dem Login kopieren

Verlassen Sie die MySQL-Umgebung und verwenden Sie die .mysql dump-Befehl, um eine vollständige Sicherung zu erstellen der Datenbankwelt:

mysqldump -u root -p --lock-all-tables --databases world > /tmp/world.sql
Nach dem Login kopieren

Geben Sie das Verzeichnis /tmp ein und sehen Sie sich die Sicherungsdatei an:

cd /tmp
ls
Nach dem Login kopieren

Jetzt haben wir die Weltbibliothek vollständig gesichert und haben keine Angst vor Datenverlust.

Simulieren Sie den Verlust der Schülertabelle in der Weltdatenbank:

DROP TABLE student;
Nach dem Login kopieren

Bestätigen Sie, dass die Tabelle gelöscht wurde

SHOW TABLES;
Nach dem Login kopieren
Nach dem Login kopieren

So implementieren Sie eine vollständige Sicherung und inkrementelle Sicherung der MySQL-Datenbank

Verwenden Sie den MySQL-Befehl, um die Datenbank wiederherzustellen:

mysql -uroot -p < /tmp/world.sql
Nach dem Login kopieren

Betreten Sie die MySQL-Umgebung und Sehen Sie sich die Wiederherstellungsergebnisse an:

SHOW TABLES;
Nach dem Login kopieren
Nach dem Login kopieren

Ausgabeergebnis:

So implementieren Sie eine vollständige Sicherung und inkrementelle Sicherung der MySQL-Datenbank

Überprüfen Sie die Daten in der Tabelle:

SELECT * FROM student;
Nach dem Login kopieren

So implementieren Sie eine vollständige Sicherung und inkrementelle Sicherung der MySQL-Datenbank

Bei der inkrementellen Sicherung werden Daten gesichert, die sich seit der letzten vollständigen oder inkrementellen Sicherung geändert haben Sicherung. Es basiert auf binären Protokolldateien und muss das Binlog-Protokoll öffnen. Führen Sie zunächst eine vollständige Sicherung der Datenbank durch und aktualisieren Sie gleichzeitig das Binlog-Protokoll. Alle Vorgänge nach dieser Sicherung werden im neuen Binlog-Protokoll aufgezeichnet. Wir müssen nur das hinzugefügte Binlog-Protokoll sichern, um die kontinuierliche Erweiterung des Inhalts zu realisieren. Eine perfekte Sicherung der Datenbank. Wenn in der Datenbank eine Anomalie auftritt, können wir zunächst die letzte vollständige Sicherung wiederherstellen und dann die inkrementellen Sicherungsdateien nacheinander wiederherstellen, um eine Datenbankwiederherstellung zu erreichen.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine vollständige Sicherung und inkrementelle Sicherung der MySQL-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage