Mehrere Möglichkeiten zum Sichern einer MySql-Datenbank

Mehrere Möglichkeiten zum Sichern einer MySql-Datenbank

mysqldump-Tool-Sicherung

Sichern Sie die gesamte Datenbank

$> mysqldump -u root -h host -p dbname > backdb.sql

Sichern einer Tabelle in der Datenbank

$> mysqldump -u root -h host -p dbname tbname1, tbname2 > backdb.sql

Sichern mehrerer Datenbanken

$> mysqldump -u root -h host -p --databases dbname1, dbname2 > backdb.sql

Sichern Sie alle Datenbanken im System

$> mysqldump -u root -h host -p --all-databases > backdb.sql

Kopieren Sie das gesamte Datenbankverzeichnis (gilt nicht für die InnoDB-Speicher-Engine) direkt zur Sicherung

windowsns: Installationspfad/mysql/data

linux: /var/lib/mysql

Vor dem Kopieren müssen Sie folgenden Befehl ausführen:

MYSQL> TABELLEN SPERREN;
# Erlauben Sie Clients, während des Kopiervorgangs weiterhin Tabellen abzufragen.
MYSQL> TABELLEN LEEREN;
# Schreiben Sie die aktivierte Indexseite auf die Festplatte.

MySQLHotcopy-Tool-Sicherung

Die schnellste Methode zum Sichern einer Datenbank oder Tabelle kann nur auf dem Computer ausgeführt werden, auf dem sich das Datenbankverzeichnis befindet, und kann nur Tabellen vom Typ MyISAM sichern.

Um diese Sicherungsmethode verwenden zu können, müssen die zu sichernden Tabellendateien zugänglich sein.

$> mysqlhotcopy -u root -p dbname /Pfad/zum/neuen_Verzeichnis;
#Kopieren Sie die Datenbank in das Verzeichnis new_directory.

MySQL-Befehl: SQL-Datei importieren und wiederherstellen

$> mysql -u root -p [Datenbankname] < backup.sql
# Sie müssen die Datenbank dbname vor der Ausführung erstellen. Wenn backup.sql eine von mysqldump erstellte Sicherungsdatei ist, ist dbname für die Ausführung nicht erforderlich.
MYSQL> Quelle Backup.sql;
# Sie müssen eine Datenbank auswählen, bevor Sie den Quellbefehl ausführen.

Kopieren Sie das Datenbankverzeichnis direkt zur Wiederherstellung

Hinweis: Diese Methode muss sicherstellen, dass die Hauptversionsnummern der Originaldatenbank und der wiederherzustellenden Datenbank konsistent sind und ist nur auf Tabellen mit der MyISAM-Engine anwendbar.

  1. Beenden Sie den MySQL-Dienst.
  2. Überschreiben Sie das MySQL-Datenverzeichnis mit den gesicherten Dateien oder Verzeichnissen.
  3. Starten Sie den MySQL-Dienst.
  4. Bei Linux-Systemen müssen Sie nach dem Kopieren der Datei den Benutzer und die Gruppe der Datei in den Benutzer und die Gruppe ändern, die MySQL ausführen.

schnelle mysqlhotcopy-Wiederherstellung

Stoppen Sie den MySQL-Dienst, kopieren Sie die Sicherungsdatenbankdatei an den Speicherort, an dem die Daten gespeichert sind (Datenordner von MySQL), und starten Sie den MySQL-Dienst neu (möglicherweise müssen Sie den Eigentümer der Datenbankdatei angeben).

$> cp -R /usr/backup/test /usr/local/mysql/data
# Wenn die wiederhergestellte Datenbank bereits existiert, kann die Wiederherstellung erst erfolgreich sein, nachdem die vorhandene Datenbank mit der DROP-Anweisung gelöscht wurde. Außerdem muss die Kompatibilität der Datenbankversion sichergestellt werden.

Migrieren zwischen Datenbanken derselben Version

$> mysqldump -h www.abc.com -uroot -p Passwort Datenbankname | 
$>mysqldump -h www.bcd.com -uroot -p Passwort
# Migrieren Sie die Datenbank dbname auf dem Server www.abc.com zur Datenbank der gleichen Version auf dem Server www.bcd.com.

Migration zwischen verschiedenen Versionen der MySQL-Datenbank

Sichern Sie die ursprüngliche Datenbank.

Deinstallieren Sie die ursprüngliche Datenbank.

Installieren Sie die neue Datenbank.

Stellen Sie die gesicherten Datenbankdaten in der neuen Datenbank wieder her.

Für die Zugriffsinformationen des Datenbankbenutzers ist eine Sicherung der MySQL-Datenbank erforderlich.

Problem mit dem Standardzeichensatz: MySQL4.x verwendet Latin1 als Standardzeichensatz und mysql5.x verwendet UTF8 als Standardzeichensatz. Wenn chinesische Daten vorhanden sind, muss der Standardzeichensatz geändert werden.

Migration zwischen verschiedenen Datenbanken

Das MyODBC-Tool realisiert die Migration zwischen MySQL und SQL Server.

MySQL Migration Toolkit.

Exportieren und Importieren von Tabellen

SELECT ...... INTO OUTFILE exportiert eine Textdatei. Diese Methode kann nur auf den Datenbankserver exportieren, und die Exportdatei darf nicht bereits vorhanden sein.

MYSQL> SELECT ...... INTO OUTFILE Dateiname [OPTIONEN]
MYSQL> SELECT * FROM test.person INTO OUTFILE "C:\person0.txt";
# Importieren Sie die Daten der Personentabelle in eine Textdatei person0.txt.

mysqldump file exportiert eine Textdatei (im Gegensatz zu INTO OUTFILE müssen alle Optionen dieser Methode nicht in Anführungszeichen gesetzt werden)

$> mysqldump -T Pfad -u root -p dbname [Tabellen] [OPTIONEN]
# Der Parameter -T gibt an, dass eine Textdatei exportiert wird. Pfad ist das Verzeichnis, in das die Daten exportiert werden.
$> mysqldump -TC:\test person -u root -p
# Exportieren Sie die Personentabelle in der Testtabelle in eine Textdatei. Nach erfolgreicher Ausführung befinden sich im Testverzeichnis zwei Dateien, person.sql und person.txt

MySQL-Befehl zum Exportieren einer Textdatei

MYSQL> mysql -u root -p --execute="SELECT * FROM person;" Test > C:\person3.txt;
# Exportieren Sie die Personentabellendaten in der Testdatenbank in die Textdatei person3.txt. Mit dem Parameter --vartical kann eine Zeile in mehrere Zeilen aufgeteilt werden.
MYSQL> mysql -u root -p --vartical --execute="SELECT * FROM person;" Test > C:\person3.txt;
# --html exportiert die Tabelle als HTML-Datei, --xml exportiert die Tabelle als XML-Datei

LOAD DATA INFILE importiert eine Textdatei

MYSQL> DATEN IN DATEI 'Dateiname.txt' IN TABELLE LADEN Tabellenname [OPTIONEN] [ANZAHL ZEILEN IGNORIEREN];
# [IGNORE number LINES] bedeutet, die Anzahl der Zeilen zu ignorieren. MYSQL> LOAD DATA INFILE 'C:\person0.txt' INTO TABLE test.person;

mysqlimport Textdatei importieren

$> mysqlimport -u root -p dbname dateiname.txt [OPSTONS]
# Der Name der importierten Tabelle wird durch den Dateinamen bestimmt. Die Tabelle muss vor dem Importieren der Daten vorhanden sein. $> mysqlimport -uroot -p test C:\backup\person.txt
# Daten in die Personentabelle der Testdatenbank importieren.

Wiederherstellen von Daten mit mysqlbinlog

$> mysqlbinlog [Option] Dateiname | mysql -u Benutzer -p Passwort
# Dateiname ist die binäre Protokolldatei.
$> mysqlbinlog --stop-date="2013-03-30 15:27:47" D:\MySQL\log\binlog\binlog.000008 | mysql -u root -p password
# Stellen Sie Daten für Vorgänge vor dem 30.03.2013, 15:27:47 wieder her, basierend auf der Protokolldatei binlog.000008.

Binäre Protokollierung starten

log-bin = Pfad/Dateiname #Speicherverzeichnis und Dateiname der Protokolldatei expire_log_days = 10 #Automatische Löschzeit des Protokolls max_binlog_size = 100M # Maximale Größe der Protokolldatei

Anzeigen des Binärprotokolls

MYSQL> VARIABLEN WIE 'log_%' ANZEIGEN;
MYSQL> BINÄRPROTOKOLLE ANZEIGEN;
$>mysqlbinlog Dateiname
# Dateiname ist der Name der Binärprotokolldatei.

Löschen von Binärprotokollen

MYSQL> RESET MASTER; #Alle Binärprotokolle löschen MYSQL> PURGE {MASTER | BINARY} LOGS TO 'log_name'; #Dateien mit Dateinummern löschen, die kleiner sind als log_name MYSQL> PURGE {MASTER | BINARY} LOGS BEFORE 'date'; #Dateien vor dem angegebenen Datum löschen

Binäres Logging vorübergehend stoppen (MySQL-Dienst muss nicht neu gestartet werden)

MYSQL> SET sql_log_bin = {0|1} #Binärprotokoll anhalten oder starten.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Mehrere verschiedene Möglichkeiten zum Importieren von Daten in MySQL
  • MySQL 4-Methoden zum Importieren von Daten
  • Zusammenfassung von sechs Möglichkeiten zur Optimierung der MySQL-Datenbank
  • Zusammenfassung verschiedener Möglichkeiten zum Überschreiben und Importieren von Datenbanken in MySQL

<<:  Methoden und Schritte zum Erstellen eines Docker-basierten Nginx-Dateiservers

>>:  jQuery + h5 realisiert den Spezialeffekt der Neun-Quadrate-Lotterie (Front-End- und Back-End-Code)

Artikel empfehlen

Detaillierter Prozess der FastAPI-Bereitstellung auf Docker

Docker-Lernen https://www.cnblogs.com/poloyy/p/15...

Tutorial zum Erstellen eines Zookeeper-Servers unter Windows

Installation und Konfiguration Die offizielle Web...

jQuery realisiert Bildhervorhebung

Es ist sehr üblich, Bilder auf einer Seite hervor...

JS implementiert einfache Addition und Subtraktion von Warenkorbeffekten

In diesem Artikelbeispiel wird der spezifische JS...

Wie implementiert die MySQL-Datenbank die XA-Spezifikation?

MySQL-Konsistenzprotokoll Was passiert mit nicht ...

So erstellen Sie einen Redis-Cluster mit Docker

Inhaltsverzeichnis 1. Erstellen Sie ein Redis-Doc...

Einige Indikatoren für exzellentes Web-Frontend-Design

Die Barrierefreiheit von Webseiten scheint etwas z...

So starten Sie die RabbitMq-Software automatisch, wenn CentOS gestartet wird

1. Erstellen Sie ein neues Rabbitmq im Verzeichni...

JavaScript verwendet Canvas zum Zeichnen von Koordinaten und Linien

In diesem Artikel wird der spezifische Code zur V...

Die Frontend-Entwicklung muss jeden Tag lernen, HTML-Tags zu verstehen (1)

2.1 Semantisierung sorgt dafür, dass Ihre Webseit...