Mariadb-dump/Optionen: Unterschied zwischen den Versionen
Erscheinungsbild
K Textersetzung - „–“ durch „-“ |
Keine Bearbeitungszusammenfassung |
||
| Zeile 10: | Zeile 10: | ||
* Normalerweise behandelt mariadb-dump das | * Normalerweise behandelt mariadb-dump das erse Namensargument in der Befehlszeile als Datenbanknamen und die folgenden Namen als Tabellennamen | ||
* Mit dieser Option werden alle Namensargumente als Datenbanknamen behandelt. [https://mariadb.com/kb/en/create-database/ CREATE DATABASE]- und [https://mariadb.com/kb/en/use/USE]-Anweisungen sind in der Ausgabe vor jeder neuen Datenbank enthalten | * Mit dieser Option werden alle Namensargumente als Datenbanknamen behandelt. [https://mariadb.com/kb/en/create-database/ CREATE DATABASE]- und [https://mariadb.com/kb/en/use/USE]-Anweisungen sind in der Ausgabe vor jeder neuen Datenbank enthalten | ||
| Zeile 600: | Zeile 600: | ||
--fields-enclosed-by=0x22 | --fields-enclosed-by=0x22 | ||
[[Kategorie:MariaDB]] | |||
[[Kategorie:MariaDB/Backup]] | |||
Aktuelle Version vom 29. Oktober 2025, 19:14 Uhr
Optionen
| Unix | GNU | Parameter | Beschreibung |
|---|---|---|---|
- Normalerweise behandelt mariadb-dump das erse Namensargument in der Befehlszeile als Datenbanknamen und die folgenden Namen als Tabellennamen
- Mit dieser Option werden alle Namensargumente als Datenbanknamen behandelt. CREATE DATABASE- und [1]-Anweisungen sind in der Ausgabe vor jeder neuen Datenbank enthalten
- Deaktivieren Sie die Option mit --skip-add-locks
- Normalerweise behandelt mariadb-dump das erste Namensargument in der Befehlszeile als Datenbanknamen und die folgenden Namen als Tabellennamen
- Mit dieser Option werden alle Namensargumente als Datenbanknamen behandelt. CREATE DATABASE- und [2]-Anweisungen sind in der Ausgabe vor jeder neuen Datenbank enthalten
- Wenn Sie möchten, dass Ihr Dump und das Leeren des Protokolls genau zum gleichen Zeitpunkt erfolgen, sollten Sie --flush-logs zusammen mit --lock-all-tables oder --master-data verwenden
- Diese Option sollte immer dann verwendet werden, wenn der Dump die mysql-Datenbank und eine andere Datenbank enthält, die für eine ordnungsgemäße Wiederherstellung von den Daten in der mysql-Datenbank abhängt
- IF EXISTS], die normalerweise für jede ausgegebene Datenbank ausgegeben wird, wenn --all-databases oder --databases angegeben wird
- h
- keine Tabelleninhalte ausgeben)
- Dies ist nützlich, wenn Sie nur die CREATE TABLE-Anweisung für die Tabelle ausgeben möchten (z
- B
- um durch Laden der Ausgabedatei eine leere Kopie der Tabelle zu erstellen)
- Siehe auch --ignore-table-data
- Dies ist nützlich, wenn eine MyISAM-Tabelle in eine InnoDB-Tabelle geladen werden soll, verlängert aber die Dauer des eigentlichen Ladevorgangs erheblich
- Die Optionswerte hier stammen aus der Menge aller, Benutzer, Plugins, udfs, Server, Statistiken, Zeitzonen
| Option | Beschreibung |
|---|---|
| --all | Veraltet
|
| -A, --all-databases | Alle Datenbanken sichern
|
| -Y, --all-tablespaces | Alle Tablespaces sichern |
| -y, --no-tablespaces | Keine Tablespace-Informationen sichern |
| --add-drop-database | Vor jeder Erstellung einen DATABASE hinzufügen
|
| --add-drop-table | Füge vor jedem Erstellen ein TABLE hinzu |
| --add-drop-trigger | Fügen Sie vor jeder CREATE TRIGGER-Anweisung eine DROP TRIGGER-Anweisung hinzu |
| --add-locks | |
| --allow-keywords | Erlaubt die Erstellung von Spaltennamen, die Schlüsselwörter sind
|
| --apply-slave-statements | Fügt STOP SLAVE vor CHANGE MASTER und START SLAVE am Ende des Speicherauszugs hinzu |
| --as-of=name | Dump system versioned table as of specified timestamp
|
| --character-sets-dir=name | Verzeichnis für Zeichensatz-Dateien |
| -i, --comments | Zusätzliche Informationen in die Auszugsdatei schreiben, z
|
| --compact | |
Ändern Sie den Dump so, dass er mit einem bestimmten Modus kompatibel ist
| |
| -c, --complete-insert | |
| -C, --compress | |
| --copy-s3-tables | Standardmäßig werden S3-Tabellen ignoriert
|
| -a, --create-options | Schließt alle MariaDB- und/oder MySQL-spezifischen Erstellungsoptionen in CREATE TABLE-Anweisungen ein
|
| -B, --databases | |
| -#, --debug[=#] | Wenn Sie eine Debug-Version von MariaDB verwenden, schreiben Sie ein Debugging-Protokoll
|
| --debug-check | Speicher und Verwendung der geöffneten Datei beim Beenden prüfen |
| --debug-info | Einige Debug-Informationen beim Beenden ausgeben |
| --default-auth=name | Standard-Authentifizierungs-Client-seitiges Plugin, das verwendet werden soll |
| --default-character-set=name | Legt den Standard-Zeichensatz [3] auf "name" fest
|
| --defaults-extra-file=name | Die Datei "Name" wird nach dem Lesen der globalen Dateien gelesen
|
| --defaults-file=name | Nur Standardoptionen aus der angegebenen Datei "Name" werden gelesen
|
| --defaults-group-suffix=str | Auch Gruppen mit dem Suffix "str" werden gelesen
|
| --delayed-insert | Zeilen mit INSERT DELAYED statt INSERT einfügen |
| --delete-master-logs | Löschen Sie auf einem primären Replikationsserver die Binärprotokolle, indem Sie nach dem Ausführen des Speicherauszugsvorgangs eine Anweisung PURGE BINARY LOGS an den Server senden
|
| --dir | Paralleler Dump mehrerer Datenbanken
|
| -K, --disable-keys | '/*!40000 ALTER TABLE tb_name DISABLE KEYS */; und '/*!40000 ALTER TABLE tb_name ENABLE KEYS */; werden in die Ausgabe eingefügt
|
| --dump-date | Wenn die Option --comments und diese Option angegeben werden, erzeugt mariadb-dump am Ende des Speicherabbilds einen Kommentar der folgenden Form:-- Speicherabbild am DATUM abgeschlossen
|
| -H, --dump-history | Dump-Tabellen mit [4]
|
| --dump-slave[=value] | Wird zur Erstellung einer Dump-Datei von einem Replikatserver verwendet, die zur Einrichtung eines anderen Replikatservers mit derselben Primärdatenbank verwendet werden kann
|
| -E, --events | Schließt Event Scheduler events für die gedumpten Datenbanken in die Ausgabe ein |
| -e, --extended-insert | Verwendet die INSERT-Syntax für mehrere Zeilen, die mehrere VALUES-Listen enthält
|
| --fields-terminated-by=name | Felder in der Ausgabedatei werden durch die angegebene Zeichenkette beendet
|
| --fields-enclosed-by=name | Felder in der Ausgabedatei werden durch das angegebene Zeichen umschlossen
|
| --fields-optionally-enclosed-by=name | Felder in der Ausgabedatei werden optional durch das angegebene Zeichen eingeschlossen
|
| --fields-escaped-by=name | Felder in der Ausgabedatei werden durch das angegebene Zeichen maskiert
|
| --first-slave | |
| --flush-privileges | |
| -f, --force | Setzt die Ausführung fort, auch wenn während eines Tabellendumps ein SQL-Fehler auftritt
|
| --gtid | Wird zusammen mit --master-data und --dump-slave verwendet, um eine neue GTID-Replik bequemer einzurichten
|
| -?, --help | Zeigt eine Hilfemeldung an und beendet das Programm |
| --hex-blob | Gibt Binärzeichenfolgen im Hexadezimalformat aus (z |
| -h name, --host=name | Verbindung zum MariaDB- oder MySQL-Server auf dem angegebenen Host herstellen und Daten von diesem Server ausgeben
|
| --ignore-database=name | Die angegebene Datenbank nicht ausgeben
|
| --ignore-table=name | Die angegebene Tabelle wird nicht ausgegeben
|
| --ignore-table-data=name | Die angegebenen Tabellendaten werden nicht ausgegeben (nur die Struktur)
|
| --include-master-host-port | Fügen Sie die Optionen MASTER_HOST und MASTER_PORT für die Anweisung CHANGE MASTER TO hinzu, wenn Sie die Option --dump-slave für einen Replikat-Dump verwenden |
| --insert-ignore | Fügen Sie Zeilen mit INSERT IGNORE anstelle von INSERT ein |
| --lines-terminated-by=name | Zeilen in der Ausgabedatei werden durch die angegebene Zeichenkette abgeschlossen
|
| -x, --lock-all-tables | |
| -l, --lock-tables | Sperren Sie für jede Datenbank, die gesichert werden soll, alle Tabellen, bevor Sie sie sichern
|
| --log-error=name | Protokolliert Warnungen und Fehler, indem sie an die benannte Datei angehängt werden
|
| --log-queries | Wenn die Sicherung wiederhergestellt wird, protokolliert der Server bei eingeschalteter Protokollierung die Abfragen im allgemeinen und langsamen Abfrageprotokoll
|
| --master-data[=#] | Bewirkt, dass die Position und der Dateiname des Binärprotokolls an die Ausgabe angehängt werden
|
| --max-allowed-packet=# | Die maximale Paketlänge, die an den Server gesendet oder von diesem empfangen werden kann
|
| --max-statement-time=# | Legt die maximale Zeit fest, die eine Anweisung ausgeführt werden kann, bevor sie vom Server wegen Zeitüberschreitung abgebrochen wird. (Standardwert ist 0 (keine Begrenzung)) |
| --net-buffer-length=# | Die anfängliche Puffergröße für die Client/Server-TCP/IP- und Socket-Kommunikation
|
| --no-autocommit | Schließen Sie die INSERT-Anweisungen für jede gedumpte Tabelle in SET autocommit = 0- und COMMIT-Anweisungen ein
|
| -n, --no-create-db | |
| -t, --no-create-info | Keine CREATE TABLE-Anweisungen schreiben, die jede gesicherte Tabelle neu erstellen |
| -d, --no-data | |
Keine Zeilen für Engines ausgeben, die externe Daten verwalten (d
| |
| --no-defaults | Standardoptionen aus keiner Optionsdatei lesen
|
| -N, --no-set-names | Die Anweisung SET NAMES unterdrücken
|
| --opt | Diese Option ist eine Kurzform
|
| --order-by-primary | |
| --order-by-size | Jede Tabelle wird nach ihrer Größe sortiert, die kleinste zuerst
|
| -j, --parallel=# | Anzahl der parallel ausgeführten Dump-Tabellenjobs (nur zur Verwendung mit der Option --tab)
|
| -p[passwd], --password[=passwd | Das Passwort, das bei der Verbindung mit dem Server verwendet werden soll
|
| -W, --pipe | Unter Windows über eine Named Pipe mit dem Server verbinden
|
| --plugin-dir | Verzeichnis für clientseitige Plugins |
| -P num, --port=num | Die für die Verbindung zu verwendende TCP/IP-Portnummer |
| --print-defaults | |
Diese Option ist nützlich, um große Tabellen zu entleeren
| |
| -Q, --quote-names | |
| Verwenden Sie REPLACE INTO-Anweisungen anstelle von INSERT INTO-Anweisungen | |
| -r, --result-file=name | Direkte Ausgabe in eine angegebene Datei
|
| -R, --routines | Gespeicherte Routinen (procedures und functions) für die gesicherten Datenbanken in die Ausgabe einbeziehen
|
| set-charset | Fügen Sie "SET NAMES default_character_set" zur Ausgabe hinzu, um den Zeichensatz festzulegen
|
| -O, --set-variable=name | Ändert den Wert einer Variablen
|
| --shared-memory-base-name | Name des gemeinsam genutzten Speichers, der für Windows-Verbindungen verwendet werden soll, die gemeinsam genutzten Speicher für einen lokalen Server verwenden (gestartet mit der Option --shared-memory)
|
| --single-transaction | Diese Option sendet eine SQL-Anweisung START TRANSACTION an den Server, bevor Daten ausgegeben werden
|
| --skip-add-locks | Deaktiviert die Option --add-locks |
| --skip-comments | Deaktiviert die Option --comments |
| --skip-disable-keys | Deaktiviert die Option --disable-keys |
| --skip-extended-insert | Deaktiviert die Option --extended-insert |
| --skip-opt | Deaktiviert die Option --opt (deaktiviert --add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset und --disable-keys) |
| --skip-quick | Deaktiviert die Option --quick |
| --skip-quote-name | Deaktiviert die Option --quote-names |
| --skip-set-charset | Deaktiviert die Option --set-charset |
| --skip-triggers | Deaktiviert die Option --triggers |
| --skip-tz-utc | Deaktiviert die Option --tz-utc |
| -S name, --socket=name | Für Verbindungen zu localhost die zu verwendende Unix-Socket-Datei oder unter Windows der Name der zu verwendenden Named Pipe |
| --ssl | Aktiviert TLS
|
| --ssl-ca=name | Definiert einen Pfad zu einer PEM-Datei, die ein oder mehrere X509-Zertifikate für vertrauenswürdige Zertifizierungsstellen (CAs) enthalten sollte, die für TLS verwendet werden können
|
| --ssl-capath=name | Definiert einen Pfad zu einem Verzeichnis, das eine oder mehrere PEM-Dateien enthält, die jeweils ein X509-Zertifikat für eine vertrauenswürdige Zertifizierungsstelle (CA) enthalten sollten, das für TLS verwendet werden kann
|
| --ssl-cert=name | Definiert einen Pfad zur X509-Zertifikatsdatei, die für TLS verwendet werden soll
|
| --ssl-cipher=name | Liste der zulässigen Chiffren oder Chiffren-Sammlungen, die für TLS verwendet werden sollen
|
| --ssl-crl=name | Definiert einen Pfad zu einer PEM-Datei, die ein oder mehrere widerrufene X509-Zertifikate enthalten sollte, die für TLS verwendet werden sollen
|
| --ssl-crlpath=name | Definiert einen Pfad zu einem Verzeichnis, das eine oder mehrere PEM-Dateien enthält, die jeweils ein widerrufenes X509-Zertifikat enthalten sollten, das für TLS verwendet werden soll
|
| --ssl-key=name | Definiert einen Pfad zu einer privaten Schlüsseldatei, die für TLS verwendet werden soll
|
| --ssl-verify-server-cert | |
| -T, --tab=name | Erzeugt tabulatorgetrennte Textdateien
|
| --tables | Diese Option überschreibt die Option --databases (-B). "mariadb-dump" betrachtet alle der Option folgenden Namensargumente als Tabellennamen |
| --tls-version=name | Diese Option akzeptiert eine durch Kommas getrennte Liste von TLS-Protokollversionen
|
| --triggers | triggers für jede ausgegebene Tabelle in die Ausgabe einbeziehen
|
| --tz-utc | Diese Option ermöglicht das Entleeren und erneute Laden von TIMESTAMP-Spalten zwischen Servern in verschiedenen Zeitzonen. "mariadb-dump" legt die Zeitzone für die Verbindung auf UTC fest und fügt der Entleerungsdatei SET TIME_ZONE=´+00:00´ hinzu
|
| -u name, --user=name | Der MariaDB-Benutzername, der beim Herstellen einer Verbindung zum Server verwendet werden soll |
| -v, --verbose | Ausführlicher Modus
|
| -V, --version | Versionsinformationen ausgeben und beenden |
| -w cond, --where=cond | Nur die Zeilen ausgeben, die durch die angegebene WHERE-Bedingung cond ausgewählt wurden
|
| -X, --xml | Eine Datenbank als wohlgeformtes XML ausgeben |
Gruppenoptionen
Einige mariadb-dump-Optionen sind eine Kurzform für Gruppen anderer Optionen: * Die Verwendung von --opt ist dasselbe wie die Angabe von --add-drop-table, --add-locks, --create-options, --disable-keys, --extended-insert, --lock-tables, --quick und --set-charset
- Alle Optionen, für die --opt steht, sind standardmäßig aktiviert, da --opt standardmäßig aktiviert ist
- Die Verwendung von --compact entspricht der Angabe der Optionen --skip-add-drop-table, --skip-add-locks, --skip-comments, --skip-disable-keys und --skip-set-charset
Um die Wirkung einer Gruppenoption rückgängig zu machen, verwenden Sie die Option --skip-xxx (--skip-opt oder --skip-compact)
- Es ist auch möglich, nur einen Teil der Wirkung einer Gruppenoption auszuwählen, indem Sie ihr Optionen folgen lassen, die bestimmte Funktionen aktivieren oder deaktivieren
- Hier einige Beispiele: * Um die Wirkung von --opt mit Ausnahme einiger Funktionen auszuwählen, verwenden Sie die Option --skip für jede Funktion
- Um erweiterte Einfügungen und Speicherpufferung zu deaktivieren, verwenden Sie --opt --skip-extended-insert --skip-quick. (Tatsächlich ist --skip-extended-insert --skip-quick ausreichend, da --opt standardmäßig aktiviert ist.)
- Um --opt für alle Funktionen außer Indexdeaktivierung und Tabellensperrung umzukehren, verwenden Sie --skip-opt --disable-keys --lock-tables
Wenn Sie die Wirkung einer Gruppenoption selektiv aktivieren oder deaktivieren, ist die Reihenfolge wichtig, da die Optionen von Anfang bis Ende verarbeitet werden
- Beispielsweise hätte --disable-keys --lock-tables --skip-opt nicht die beabsichtigte Wirkung; es ist dasselbe wie --skip-opt allein
Sonderzeichen in Optionswerten
Einige Optionen, wie --lines-terminated-by, akzeptieren eine Zeichenkette
- Die Zeichenkette kann bei Bedarf in Anführungszeichen gesetzt werden
- Auf Unix-Systemen ist dies beispielsweise die Option, um Felder in doppelte Anführungszeichen zu setzen
--fields-enclosed-by='"'
Eine Alternative zur Angabe des Hexadezimalwerts eines Zeichens
- Die folgende Syntax funktioniert beispielsweise auf jeder Plattform
--fields-enclosed-by=0x22