Wie im obigen Link gezeigt, wird der Inhalt der gesamten Datenbank exportiert – kann er unter Bedingungen exportiert werden? Natürlich kannst du das!
Befehl:
Parameteranalyse:
- -h: Gib die Datenbankadresse an
- --port: Geben Sie den Datenbankport an, wenn es sich um den Standardport 3306 handelt, kann er weggelassen werden
- -u: Kontonummer
- -P: Passwort
- db_name: Dies bezieht sich darauf, welche Datenbank exportiert werden soll
- tab_name: Dies bezieht sich darauf, welche Tabelle exportiert werden soll
- --wobei: Datenfilterkriterien
- --no-create-info: exportiert nur Daten, ohne eine CREATE TABLE-Anweisung hinzuzufügen.
Am Ende folgen Sie dem Weg zu dem Ort, an dem Sie den Speicher exportieren müssen.
Illustrieren:
-t: Nur Leitdaten
--wo: Bedingung
--triggers=falsch: Triggers nicht leiten
--ersetzen: INSERT INTO durch REPLACE INTO ersetzen
Parameter:
--alle-Datenbanken , -A
Exportiere alle Datenbanken.
mysqldump -uroot -p --all-databases
--alle-Tabellenräume , -Y
Exportiere alle Tabellenräume.
mysqldump -uroot -p --all-databases --all-tablespaces
--kein-Tabellenräume , -y
Es werden keine Tabellenrauminformationen exportiert.
mysqldump -uroot -p --all-databases --no-tablespaces
--add-drop-database
Fügen Sie vor der Erstellung jeder Datenbank eine Drop-Datenbankanweisung hinzu.
mysqldump -uroot -p --all-databases --add-drop-database
--add-drop-table
Fügen Sie vor der Erstellung jeder Datentabelle eine Drop-Table-Anweisung hinzu. (Standard ist offen, verwenden Sie die Option --skip-add-drop-table, um abzubrechen.)
mysqldump -uroot -p --all-databases (standardmäßig Add Drop-Anweisung)
mysqldump -uroot -p --all-databases –skip-add-drop-table (unLop-Anweisung)
--add-locks
Füge vor jedem Tabellenexport LOCK TABLES hinzu und ENTSPERRE TABELLE danach. (Standard ist eingeschaltet, verwenden Sie die Option --überspringen, fügen Sie Sperren zum Abbrechen über)
mysqldump -uroot -p --all-databases (LOCK-Anweisung wird standardmäßig hinzugefügt)
mysqldump -uroot -p --all-databases –skip-add-locks (unlock-anweisung)
--zulassen-Schlüsselwörter
Ermöglicht die Erstellung von Spaltennamen, die Schlüsselwörter sind. Dies geschieht, indem der Tabellenname jedem Spaltennamen vorgesetzt wird.
mysqldump -uroot -p --all-databases --allow-keywords
--apply-slave-statements
Füge am Ende des Exports 'STOPP SLAVE' vor 'MASTER WECHSELN' und 'START SLAVE' hinzu.
mysqldump -uroot -p --all-databases --apply-slave-statements
--charactersets-dir
Verzeichnis der Zeichensatzdateien
mysqldump -uroot -p --all-databases --character-sets-dir=/usr/local/mysql/share/mysql/charsets
--Kommentare
Zusätzliche Hinweise. Sie ist standardmäßig aktiviert und kann mit --überspringen-Kommentare abgebrochen werden
mysqldump -uroot -p --all-databases (Standard-Datensatzkommentare)
mysqldump -uroot -p --all-databases --skip-comments (unkommentiert)
--kompatibel
Die exportierten Daten sind mit anderen Datenbanken oder älteren MySQL-Versionen kompatibel. Die Werte können ANSI, MySQL323, MySQL40, PostgreSQL, Oracle, MSSQL, DB2, MaxDB, no_key_options, no_tables_options, no_field_options usw. sein.
Um mehrere Werte zu verwenden, trennen Sie sie mit Kommas. Es ist nicht garantiert, vollständig kompatibel zu sein, aber so weit wie möglich.
mysqldump -uroot -p --all-databases --compatible=ansi
--kompakt
Exportiere weniger Ausgabeinformationen (zum Debugging). Entferne Strukturen wie Anmerkungen sowie Kopf und Zahl. Die Option ist verfügbar: --überspringen-hinzufügen-Droptable---überspringen-hinzufügen-Sperren --überspringen-Kommentare --überspringen-deaktivieren-Schlüssel überspringen
mysqldump -uroot -p --all-databases --compact
--vollständig-einfügen, -c
Verwenden Sie die vollständige Einfüge-Anweisung (einschließlich des Spaltennamens). Dies kann die Einfügungseffizienz verbessern, kann jedoch von max_allowed_packet Parametern beeinflusst werden und Einfügungsfehler verursachen.
mysqldump -uroot -p --all-databases --complete-insert
--komprimieren, -C
Aktivieren Sie die Kompression, um alle Informationen zwischen Client und Server weiterzugeben
mysqldump -uroot -p --all-databases --compress
--create-options, -a
Fügen Sie alle MySQL-Funktionen in die CREATE TABLE-Anweisung ein. (Standard ist aktiviert)
mysqldump -uroot -p --all-databases
--Datenbanken, -B
Exportiere mehrere Datenbanken. Alle Namensparameter nach dem Parameter werden als Datenbanknamen behandelt.
mysqldump -uroot -p --databases test mysql
--debugger
Geben Sie Debug-Informationen zum Debugging aus. Der Standardwert lautet: d:t:o,/tmp/mysqldump.trace
mysqldump -uroot -p --all-databases --debug
mysqldump -uroot -p --all-databases --debug=" d:t:o,/tmp/debug.trace"
--Debug-Check
Überprüfe den Speicher und öffne die Dateianweisungen und verlasse es.
mysqldump -uroot -p --all-databases --debug-check
--debug-info
Debug-Informationen ausgeben und Abschluss
mysqldump -uroot -p --all-databases --debug-info
--default-character-set
Setze den Standardzeichensatz, der Standardwert ist utf8
mysqldump -uroot -p --all-databases --default-character-set=latin1
--verzögerte-Einfügung
VERZÖGERT zum Exportieren der Daten einfügen
mysqldump -uroot -p --all-databases --delayed-insert
--delete-master-logs
Master-Backup löscht Protokolle. Dieser Parameter aktiviert sich automatisch --master-data.
mysqldump -uroot -p --all-databases --delete-master-logs
--disable-keys
Für jede Tabelle verwenden Sie /*!40000 ALTER TABLE tbl_name DEAKTIVIEREN SCHLÜSSEL */; und /*!40000 ALTER TABLE tbl_name ENABLE KEYS */; Die Aussage bezieht sich auf die INSERT-Anweisung. Dies ermöglicht einen schnelleren Import von gedumpten Dateien, da nach dem Einfügen aller Zeilen ein Index erstellt wird. Diese Option ist nur für MyISAM-Tabellen verfügbar, die standardmäßig auf den offenen Zustand gestellt werden.
mysqldump -uroot -p --all-databases
--Müll-Sklave
Diese Option führt dazu, dass der Hauptspeicherort und der Dateiname an die Datei angehängt werden, aus der die exportierten Daten angehängt werden. Wenn auf 1 gesetzt, wird der Befehl CHANGE MASTER verwendet, um in die Datendatei auszugeben. Wenn auf 2 gesetzt, fügen Sie vor dem Befehl erklärende Informationen hinzu. Diese Option aktiviert ---all-lock-tables außer --einzelne Transaktion ist angegeben. Diese Option schaltet automatisch die --lock-tables-Option aus. Der Standardwert ist 0.
mysqldump -uroot -p --all-databases --dump-slave=1
mysqldump -uroot -p --all-databases --dump-slave=2
--Ereignisse, -E
Exportveranstaltungen.
mysqldump -uroot -p --all-databases --events
--extended-insert, -e
Verwenden Sie die INSERT-Syntax mit mehreren VALUES-Spalten. Das macht den Export kleiner und beschleunigt die Importe. Standardeinstellung zum offenen Zustand, verwenden Sie die Option --skip-extended-insert to cancel.
mysqldump -uroot -p --all-databases
mysqldump -uroot -p --all-databases--skip-extended-insert (Option unoption)
--Felder-beendet-durch
Ignoriere die angegebenen Felder in der Exportdatei. Verwendet mit der --tab-Option, nicht für die --databases- und --all-databases-Optionen
mysqldump -uroot -p testtest --tab="/home/mysql" --fields-terminated-by="#"
--Felder-umschlossen-durch
Die einzelnen Felder in der Ausgabedatei werden mit den gegebenen Zeichen umwickelt. Verwendet mit der --tab-Option, nicht für die --databases- und --all-databases-Optionen
mysqldump -uroot -p testtest --tab="/home/mysql" --fields-enclosed-by="#"
--Felder-optional-umschlossen-durch
Die Felder in der Ausgabedatei werden selektiv mit den gegebenen Zeichen umrahmt. Verwendet mit der --tab-Option, nicht für die --databases- und --all-databases-Optionen
mysqldump -uroot -p testtest --tab="/home/mysql" --fields-enclosed-by="#" --fields-optionally-enclosed-by ="#"
--Felder-entkommen-durch
Die einzelnen Felder in der Ausgabedatei ignorieren die angegebenen Zeichen. Verwendet mit der --tab-Option, nicht für die --databases- und --all-databases-Optionen
mysqldump -uroot -p mysql user --tab="/home/mysql" --fields-escaped-by="#"
--flush-logs
Aktualisieren Sie die Logs, bevor Sie den Export starten.
Bitte beachten Sie: Wenn Sie mehrere Datenbanken gleichzeitig exportieren (mit der Option --databases oder --all-databases), werden die Logs datenbankweise aktualisiert. Außer durch Verwendung von --lock-all-tables oder --master-data. In diesem Fall wird das Log einmal aktualisiert und die entsprechende Tabelle gleichzeitig gesperrt. Wenn Sie daher gleichzeitig Logs exportieren und flushen möchten, sollten Sie --lock-all-tables oder --master-data und --flush-logs verwenden.
mysqldump -uroot -p --all-databases --flush-logs
--Flush-Privilegien
Nach dem Export der MySQL-Datenbank geben Sie eine FLUSH PRIVILEGES-Anweisung aus. Für eine ordnungsgemäße Wiederherstellung sollte diese Option jederzeit zum Export von MySQL-Datenbanken und abhängigen MySQL-Datenbankdaten verwendet werden.
mysqldump -uroot -p --all-databases --flush-privileges
--Kraft
Ignorieren Sie SQL-Fehler, die während des Exports auftreten.
mysqldump -uroot -p --all-databases --force
--Hilfe
Zeigen Sie Hilfeinformationen an und verlassen Sie.
mysqldump --hilfe
--hex-blob
Exportiere binäre Zeichenkettenfelder im hex-Format. Diese Option muss verwendet werden, wenn Binärdaten verfügbar sind. Die betroffenen Feldtypen sind BINARY, VARBINARY und BLOB.
mysqldump -uroot -p --all-databases --hex-blob
--Host, -h
Host-Informationen, die exportiert werden müssen
mysqldump -uroot -p --host=localhost --all-databases
--ignorieren-tabelle
Die angegebene Tabelle wird nicht exportiert. Wenn angegeben wird, dass mehrere Tabellen ignoriert werden, muss dies mehrmals Tabelle für Tabelle wiederholt werden. Jede Tabelle muss sowohl die Datenbank als auch den Tabellennamen angeben. Zum Beispiel: --ignore-table=database.table1 --ignore-table=database.table2 ......
mysqldump -uroot -p --host=localhost --all-databases --ignore-table=mysql.user
--include-master-host-port
'MASTER ÄNDERN ZU...' erzeugt von --dump-slave Füge der <host>Aussage 'MASTER_HOST=,MASTER_PORT=<port>' hinzu
mysqldump -uroot -p --host=localhost --all-databases --include-master-host-port
--insert-ignore
Verwenden Sie beim Einfügen einer Zeile die INSERT IGNOREN-Anweisung.
mysqldump -uroot -p --host=localhost --all-databases --insert-ignore
--Linien-beendet-durch
Jede Zeile der Ausgabedatei wird durch eine bestimmte Zeichenkette geteilt. Verwendet mit der --tab-Option, nicht für die --databases- und --all-databases-Optionen.
mysqldump -uroot -p --host=localhost test test --tab="/tmp/mysql" --lines-terminated-by="##"
--lock-all-tables, -x
Reichen Sie eine Anfrage ein, alle Tabellen in allen Datenbanken zu sperren, um die Datenkonsistenz zu gewährleisten. Dies ist eine globale Lesesperre, und die Optionen --single-transaction und --lock-tables sind automatisch deaktiviert.
mysqldump -uroot -p --host=localhost --all-databases --lock-all-tables
--Lock-Tables, -l
Sperren Sie alle Tabellen, bevor Sie den Export starten. Sperre die Tabelle mit READ LOCAL, damit MyISAM-Tabellen parallel eingefügt werden können. Für Tabellen, die Transaktionen unterstützen, wie InnoDB und BDB,--Single-Transaktion ist die bessere Option, da sie keine Sperrtafeln erfordert.
Beachten Sie,-- dass beim Export mehrerer Datenbanken Lock-Tables Tabellen für jede Datenbank separat sperrt. Daher garantiert diese Option keine logische Konsistenz zwischen Datenbanken für Tabellen in der exportierten Datei. Der Exportstatus verschiedener Datenbanktabellen kann völlig unterschiedlich sein.
mysqldump -uroot -p --host=localhost --all-databases --lock-tables
--log-error
Fügen Sie Warnungen und Fehlermeldungen einer bestimmten Datei an
mysqldump -uroot -p --host=localhost --all-databases --log-error=/tmp/mysqldump_error_log.err
--master-data
Diese Option fügt den Standort und Dateinamen des Binlogs an die Ausgabedatei an. Ist es 1, wird der Befehl CHANGE MASTER ausgegeben; Wenn es 2 sind, füge vor dem Ausgabebefehl CHANGE MASTER einen Kommentar hinzu. Die Option aktiviert die --lock-all-tables-Option, es sei denn, die --einzelne- Transaktion ist ebenfalls angegeben (in diesem Fall erhält die globale Lesesperre eine kurze Zeit, wenn der Export startet; Für weitere Inhalte siehe bitte die untenstehende Option --Einzeltransaktion). Diese Option ist automatisch deaktiviert – Lock-Tables Option.
mysqldump -uroot -p --host=localhost --all-databases --master-data=1;
mysqldump -uroot -p --host=localhost --all-databases --master-data=2;
--max_allowed_packet
Die maximale vom Server gesendete und akzeptierte Paketlänge.
mysqldump -uroot -p --host=localhost --all-databases --max_allowed_packet=10240
--net_buffer_length
Cache-Größe für TCP/IP- und Socket-Verbindungen.
mysqldump -uroot -p --host=localhost --all-databases --net_buffer_length=1024
--no-autocommit
Verwenden Sie die Autocommit/Commit-Anweisung, um die Tabelle zu wrappen.
mysqldump -uroot -p --host=localhost --all-databases --no-autocommit
--no-create-db, -n
Exportiere die Daten nur, ohne die CREATE DATABASE-Anweisung hinzuzufügen.
mysqldump -uroot -p --host=localhost --all-databases --no-create-db
--no-create-info, -t
Exportiere die Daten nur, ohne die CREATE TABLE-Anweisung hinzuzufügen.
mysqldump -uroot -p --host=localhost --all-databases --no-create-info
--kein-Daten, -d
Es werden keine Daten exportiert, nur die Datenbanktabellenstruktur wird exportiert.
mysqldump -uroot -p --host=localhost --all-databases --no-data
--kein-Mengen-Namen, -N
Äquivalent zu --skip-set-charset
mysqldump -uroot -p --host=localhost --all-databases --no-set-names
--opt
Äquivalent zu --add-drop-table, --add-locks, --create- options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys Diese Option ist standardmäßig aktiviert und kann mit --skip-opt deaktiviert werden.
mysqldump -uroot -p --host=localhost --all-databases --opt
--Reihenfolge nach-primär
Wenn es einen Primärschlüssel oder den ersten eindeutigen Schlüssel gibt, sortiere die Datensätze für jede Tabelle. Das funktioniert beim Export von MyISAM-Tabellen in InnoDB-Tabellen, aber der Exportprozess dauert sehr lange.
mysqldump -uroot -p --host=localhost --all-databases --order-by-primary
--Passwort, -p
Verbinden Sie das Datenbankpasswort
--Rohr (verfügbar für Fenster)
Verbinden Sie sich mit MySQL über eine benannte Pipeline
mysqldump -uroot -p --host=localhost --all-databases --pipe
--Backbord, -P
Verbinden Sie sich mit der Datenbank-Portnummer
--Protokoll
Verwendete Verbindungsprotokolle, darunter: TCP, Socket, Pipe, Speicher.
mysqldump -uroot -p --host=localhost --all-databases --protocol=tcp
--schnell, -q
Exportiere direkt in die Standardausgabe, ohne Abfragen zu puffern. Standard ist eingeschaltet, benutze --skip-quick, um diese Option zu kündigen.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-quick
--Anführungsnamen,-Q
Verwenden Sie ('), um Tabellen- und Spaltennamen zu erzeugen. Standardeinstellung ist aktiviert, benutze --skip-quote-names um diese Option zu deaktivieren.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-quote-names
--ersetzen
Verwenden Sie REPLACE INTO zum Ersetzen von INSERT INTO (INSERT).
mysqldump -uroot -p --host=localhost --all-databases --replace
--result-file, -r
Geben Sie direkt in die angegebene Datei aus. Diese Option sollte auf Systemen verwendet werden, die Zeilenumwicklungen verwenden (z. B. DOS, Windows). Diese Option stellt sicher, dass nur eine Zeile verwendet wird.
mysqldump -uroot -p --host=localhost --all-databases --result-file=/tmp/mysqldump_result_file.txt
--Routinen, -R
Exportiere gespeicherte Prozeduren sowie benutzerdefinierte Funktionen.
mysqldump -uroot -p --host=localhost --all-databases --routines
--set-charset
Füge der Ausgabedatei 'SET NAMES default_character_set' hinzu. Standardeinstellung zum offenen Zustand, benutze --skip-set-charset, um die Option zu schließen.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-set-charset
--Einzeltransaktion
Diese Option reicht vor dem Export der Daten eine BEGIN-SQL-Anweisung ein, die keine Anwendung blockiert und einen konsistenten Zustand der Datenbank zum Zeitpunkt des Exports garantiert. Es funktioniert nur mit Multiversion-Speicher-Engines, nur mit InnoDB. Diese Option und die --lock-tables-Option schließen sich gegenseitig aus, da LOCK TABLES jede ausstehende Transaktion implizit verpflichtet. Wenn du eine große Tabelle exportieren möchtest, solltest du die --schnell-Option in Kombination verwenden.
mysqldump -uroot -p --host=localhost --all-databases --single-transaction
--Dump-Datum
Füge die Exportzeit zur Ausgabedatei hinzu. Standardeinstellung zum offenen Zustand, verwenden Sie die Option --skip-dump-date zum schließen.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-dump-date
--skip-opt
Deaktivieren Sie die –opt-Option.
mysqldump -uroot -p --host=localhost --all-databases --skip-opt
--Sockel,-S
Gib den Socket-Dateistandort an, der mit MySQL verbunden ist, und der Standardpfad ist /tmp/mysql.sock
mysqldump -uroot -p --host=localhost --all-databases --socket=/tmp/mysqld.sock
--tab,-T
Erstelle für jede Tabelle in einem bestimmten Pfad eine Tab-Split-Textdatei. Hinweis: Nur für mysqldump- und mysqld-Server, die auf derselben Maschine laufen.
mysqldump -uroot -p --host=localhost test test --tab="/home/mysql"
--Tabellen
Überschreiben Sie den Parameter --databases (-B), um den zu exportierenden Tabellennamen zu spezifizieren.
mysqldump -uroot -p --host=localhost --databases test --tables test
--triggert
Export-Trigger. Diese Option ist standardmäßig aktiviert, deaktivieren Sie sie mit --skip-triggers.
mysqldump -uroot -p --host=localhost --all-databases --triggers
--tz-utc
Setzen Sie die Zeitzone TIME_ZONE='+00:00' am Anfang des Exports, um die Korrektheit der TIMESTAMP-Daten zu gewährleisten, die in verschiedenen Zeitzonen oder beim Verschieben der Daten in eine andere Zeitzone exportiert werden.
mysqldump -uroot -p --host=localhost --all-databases --tz-utc
--user, -u
Gib den Benutzernamen der Verbindung an.
--ausführlich, --v
Geben Sie Informationen über mehrere Plattformen aus.
--Version, -V
Geben Sie mysqldump-Versionsinformationen aus und beenden Sie die Version.
--wo, -w
Nur die für die gegebene WHERE-Bedingung ausgewählten Datensätze werden gedumpt. Beachten Sie, dass, wenn die Bedingung einen befehlsspezifischen Interpreter-spezifischen Speicher oder ein Zeichen enthält, unbedingt auf die Bedingung Bezug nehmen.
mysqldump -uroot -p --host=localhost --all-databases --where=" user='root'"
--xml, -X
XML-Format exportieren.
mysqldump -uroot -p --host=localhost --all-databases --xml
--plugin_dir
Ein Verzeichnis von clientseitigen Plugins zur Kompatibilität mit verschiedenen Plugin-Versionen.
mysqldump -uroot -p --host=localhost --all-databases --plugin_dir="/usr/local/lib/plugin"
--default_auth
Client-Plugins verwenden standardmäßig Berechtigungen.
mysqldump -uroot -p --host=localhost --all-databases --default-auth="/usr/local/lib/plugin/<PLUGIN>"
|