Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 18434|Antwort: 2

[Quelle] MySQL verwendet mysqldump, um Daten mit Bedingungen zu exportieren

[Link kopieren]
Veröffentlicht am 26.04.2019 16:07:23 | | | |

MySQL-Datenbanksicherung und -export
https://www.itsvse.com/thread-4004-1-1.html
(Quelle: Architect_Programmer)
MySQLDump importiert und exportiert Datenbankzusammenfassungen
https://www.itsvse.com/thread-4353-1-1.html
(Quelle: Architect_Programmer)
mysqldump exportiert Datenbank "Zugriff verweigert"
https://www.itsvse.com/thread-4005-1-1.html
(Quelle: Architect_Programmer)

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>"





Vorhergehend:Ich kann den Wert von Json nicht in der Bootstrap-Tabelle bestimmen
Nächster:Konvertiere Anfrageergebnisse in Json-Format Skriptfreigabe
Veröffentlicht am 01.06.2019 02:16:47 |
Danke fürs Teilen
 Vermieter| Veröffentlicht am 07.02.2021 10:01:20 |
MySQL exportiert die Abfrageergebnisse in eine Datei
https://www.itsvse.com/thread-9557-1-1.html
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com