Dieser Artikel verwendet MySQL5.5 Centos6.5 64-Bit (ich verwende RPM, um MySQL zu installieren, und das Datenbankinstallationsverzeichnis ist das Standardverzeichnis)
Lesesperrenproblem: Sobald die Datenbank (oder eine bestimmte Tabelle) einen Lesesperrvorgang durchführt, wirkt sich dies auf den Schreibvorgang der Datenbank aus, sodass nicht in die Datenbank geschrieben werden kann diesmal. Der Grund, warum der Lesesperrvorgang während der Datensicherung durchgeführt wird, besteht darin, die Integrität und Konsistenz der Sicherungsdaten sicherzustellen, und sie werden nach Abschluss der Datensicherung automatisch entsperrt.
Problem beim Aktualisieren des Protokolls: Bei jeder Datensicherung wird eine neue Protokolldatei generiert. Auf diese Weise werden die Daten in dieser Zeit plötzlich abstürzen, wenn die Datenbank abstürzt Der Zeitraum kann über das Bin-Log-Protokoll wiederhergestellt werden. Schritte zur Datenwiederherstellung: Wiederherstellen der gesicherten Daten + Wiederherstellen der Daten im neuesten Bin-Log-Protokoll
mysqldump: Befehl zum Sichern der Daten in der Datenbank in einer Textdatei. Die Struktur der Tabelle und die Daten in der Tabelle werden in der generierten Textdatei gespeichert.
So funktioniert der mysqldump-Befehl: Er ermittelt zunächst die Struktur der Tabelle, die gesichert werden muss, und generiert dann eine CREATE-Anweisung in der Textdatei. Konvertieren Sie dann alle Datensätze in der Tabelle in eine INSERT-Anweisung. Mithilfe dieser Anweisungen können Sie dann Tabellen erstellen und Daten einfügen.
Sichern Sie die Testdatenbank im Verzeichnis /tmp/mysql_back/
[root@localhost tmp]# mysqldump -uroot -p111111 test -l -F > '/tmp/mysql_back/test.sql';
Parameterinterpretation:
1. mysqldump MySQL-Datensicherungsbefehl
2. -uroot -p111111 Benutzername und Passwort
3. Test: Zu sichernder Datenbankname
4. -l: Lesesperrensteuerung
5. -F: Erzeugen Sie eine neue Protokolldatei
Nachdem Sie diese Anweisung ausgeführt haben, werden Sie feststellen, dass ein neues Bin-Log-Protokoll mysql-bin.000002
<🎜 in /var generiert wird /lib/mysql-Verzeichnis. >6. /tmp/mysql_back/test.sql: Der Speicherort und der Name der generierten Sicherungsdatei[root@localhost tmp]# mysql -uroot -p111111 test -v -f</tmp/mysql_back/test.sql
BEGIN /*!*/; # at 175 #170206 22:55:48 server id 1 end_log_pos 263 Query thread_id=17 exec_time=0 error_code=0 use `test`/*!*/; SET TIMESTAMP=1486392948/*!*/; insert into t1 values(10) /*!*/; # at 263 #170206 22:55:48 server id 1 end_log_pos 290 Xid = 178 COMMIT/*!*/; # at 290 #170206 22:55:54 server id 1 end_log_pos 358 Query thread_id=17 exec_time=0 error_code=0 SET TIMESTAMP=1486392954/*!*/; BEGIN /*!*/; # at 358 #170206 22:55:54 server id 1 end_log_pos 446 Query thread_id=17 exec_time=0 error_code=0 SET TIMESTAMP=1486392954/*!*/; insert into t1 values(12) /*!*/; # at 446 #170206 22:55:54 server id 1 end_log_pos 473 Xid = 179 COMMIT/*!*/; # at 473 #170206 22:56:42 server id 1 end_log_pos 547 Query thread_id=17 exec_time=0 error_code=0 SET TIMESTAMP=1486393002/*!*/; truncate t1
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Sicherung und Wiederherstellung von MySQL-Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!