Dieser Artikel beschreibt verschiedene Möglichkeiten zur Implementierung einer MySQL-Datenbanksicherung. Teilen Sie uns die Einzelheiten zu Ihrer Information mit: 1. Verwenden Sie mysqldump zur Sicherung 1. Vollständiges Sichern aller Datenbanken mysqldump -u root -p --all-databases > E:/all.sql Vor MySQL 8 wurden gespeicherte Prozeduren und Ereignisse in den Tabellen mysql.proc und mysql.event gespeichert. Ab MySQL 8 werden die Definitionen der entsprechenden Objekte im Datenwörterbuch gespeichert und diese Tabellen werden nicht gesichert. Um gespeicherte Prozeduren und Ereignisse einzuschließen, verwenden Sie die folgende Anweisung: mysqldump -u root -p --all-databases --routines --events > E:/all.sql 2. Zeitpunktbezogene Wiederherstellung Um eine zeitpunktbezogene Wiederherstellung zu erhalten, sollten Sie --single-transaction und --master-data angeben. --single-transaction Vor der Sicherung wird die Transaktionsisolationsebene auf den Modus „REPEATABLE READ“ gesetzt und „START TRANSACTION“ ausgeführt, um eine konsistente Sicherung bereitzustellen. --master-data Gibt den Speicherort des Binärprotokolls des Servers in eine SQL-Datei aus.
--master-data=2 bedeutet, dass beim Exportvorgang die Binlog- und POS-Punkte der aktuellen Bibliothek aufgezeichnet werden und diese Zeile in der Exportdatei kommentiert wird. --master-data = 1 bedeutet, dass während des Exportvorgangs die Binlog- und POS-Punkte der aktuellen Bibliothek aufgezeichnet werden und diese Zeile in der Exportdatei nicht kommentiert wird. 3. Notieren Sie beim Exportieren aus der Bibliothek die Binärprotokollposition der Hauptbibliothek
--dump-slave=2 bedeutet, dass beim Exportvorgang die Binlog- und POS-Punkte der Masterdatenbank aufgezeichnet werden und diese Zeile in der Exportdatei kommentiert wird. --dump-slave = 1 bedeutet, dass während des Exportvorgangs die Binlog- und POS-Punkte der Masterdatenbank aufgezeichnet werden und diese Zeile in der Exportdatei nicht kommentiert wird. 4. Datenbank- und Tabellenexport festlegen mysqldump -u root -p --databases Datenbank> E:/bak.sql mysqldump -u root -p --databases Datenbank --tables Datentabelle> E:/bak.sql 5. Tabelle ignorieren mysqldump -u root -p --databases Datenbank --ignore-table=database.datatable> E:/bak.sql 6. Zeilen angeben mysqldump -u root -p --databases Datenbank --tables Datentabelle --where="Bedingung" > E:/bak.sql Oder verwenden Sie „limit“, um den Ergebnissatz einzuschränken
7. Remote-Server exportieren
8. Backup zum Zusammenführen von Daten mit anderen Servern
--skip-add-drop-table: Schreibt die Drop-Table-Anweisung nicht in die Exportdatei. --replace: verwendet zum Exportieren die „Replace into“-Anweisung anstelle der „Insert“-Anweisung. 2. Verwenden Sie mysqlpump zur Sicherung 1. Parallele Verarbeitung: Beschleunigen Sie den Sicherungsvorgang durch Angabe der Anzahl der Threads mysqlpump --default-parallelism=8 > E:/all.sql 2. Sie können auch die Anzahl der Threads für jede Datenbank angeben
3. Datenbanken ausschließen oder einschließen mysqlpump -u root -p --include-databases=%t > E:/bak.sql Sichern Sie alle Datenbanken, die mit t enden. Mehrere Datenbanken werden durch Kommas getrennt. Datenbanknamen können die Platzhalter % oder _ verwenden. Darüber hinaus gibt es ähnliche --include-events, --include-routines, --include-tables, --include-triggers, --include-users usw. mysqlpump -u root -p --exclude-databases=a% > E:/bak.sql Schließen Sie Datenbanken aus, die mit „from backup“ beginnen. Mehrere Datenbanken werden durch Kommas getrennt. Datenbanknamen können die Platzhalter % oder _ verwenden. Darüber hinaus gibt es ähnliche Funktionen wie --exclude-events, --exclude-routines, --exclude-tables, --exclude-triggers, --exclude-users usw. 4. Backup-Benutzer mysqlpump -u root -p --exclude-databases=% --users > E:/Benutzer.sql Sie können bestimmte Benutzer über --exclude-users ausschließen
5. Komprimiertes Backup Durch Verwendung von --compress-output=lz4 oder --compress-output=zlib mysqlpump -u root -p --compress-output=lz4 > E:/all.lz4 mysqlpump -u root -p --compress-output=zlib > E:/all.zlib Dekomprimieren Sie es mit der folgenden Anweisung lz4_decompress E:/all.lz4 all.sql zlib_decompress E:/all.zlib all.sql 3. Verwenden Sie mydumper zur Sicherung mydumper muss separat installiert werden, offizielle Website: https://github.com/maxbube/mydumper/releases 1. Vollständige Sicherung mydumper -u root --password=Passwort --outputdir Exportpfad 2. Sichern Sie eine separate Tabelle
3. Verwenden Sie reguläre Ausdrücke, um bestimmte Datenbanken zu sichern
Schließen Sie die MySQL- und Testdatenbanken vom Backup aus. 4. Große Tabellen sichern
--rows gibt an, in wie viele Zeilen die Tabelle unterteilt werden soll --trx-consistency-only minimiert Sperren bei InnoDB. -t gibt die Anzahl der Threads an 5. Komprimiertes Backup
6. Sichern Sie nur Daten Verwenden Sie die Option --no-schemas, um das Schema zu überspringen und nur die Daten zu sichern.
4. Verwenden Sie normale Dateien zur Sicherung Sie können die Dateien im Datenverzeichnis sichern, indem Sie sie direkt kopieren. Sie müssen MySQL zuerst herunterfahren, die Dateien kopieren und dann MySQL starten. 5. Verwenden Sie xtrabackup zur Sicherung https://www.percona.com/downloads/XtraBackup/LATEST/ 1. Vollständige Sicherung
--defaults-file Datenbankkonfigurationsdatei --backup Führt einen Sicherungsvorgang aus --parallel Die Anzahl gleichzeitiger Threads während der Sicherung --target-dir Das Verzeichnis für Sicherungsdateien 2. Inkrementelles Backup
Inkrementelles Backup basiert auf Voll-Backup, --incremental-basedir verweist auf das Voll-Backup-Verzeichnis Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „Zusammenfassung der Kenntnisse im Bereich MySQL-Indexoperationen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-Allgemeinfunktionen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-Protokolloperationen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-Transaktionsoperationen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-gespeicherte Prozeduren“ und „Zusammenfassung der Kenntnisse im Zusammenhang mit MySQL-Datenbanksperren“. Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist. Das könnte Sie auch interessieren:
|
>>: Vue implementiert eine Wettervorhersagefunktion
Vorwort Ich habe vor Kurzem Linux gelernt und dan...
Inhaltsverzeichnis Vergleichen Sie die leere Zeic...
Inhaltsverzeichnis JSON wird angezeigt JSON-Struk...
Bei einem unserer Webprojekte ist aufgrund der Zu...
In diesem Artikel wird der spezifische Code für R...
Eine Vektorwelle <svg viewBox="0 0 560 20...
JavaScript veröffentlicht mittlerweile jedes Jahr...
Der Erste : Code kopieren Der Code lautet wie folg...
Inhaltsverzeichnis SSH-Protokoll SSH Verbindungsp...
Da das Team Front-End und Back-End trennt, überni...
Detaillierte Erläuterung der Lösung für verstümme...
Wie debuggt man eine Seite auf dem iPad? Wenn Sie ...
In diesem Artikel wird der spezifische Code des J...
Bei der Entwicklung eines Backend-Verwaltungsproj...
Inhaltsverzeichnis 1. Verwendung von Pfeilfunktio...