mysqldump: die Option opt
Die Option --opt wird standardmäßig ausgeführt und bietet eine Sammlung von mysqldump Optionen.
Die mysqldump option --opt ist eine Kürzel für folgende sinnvolle Optionen:
mysqldump --create-options --disable-keys --extended-insert --lock-tables --add-drop-tables --quick --set-charset [...]
Die einzelnen Optionen haben folgende Bedeutung:
mysqldump Option --create-options
In die Anweisung zum Erstellen einer Tabellen werden alle Tabellenoptionen geschrieben.
mysqldump Option --disable-keys
Nur bei MyIsam Tebellen wirksam. Die Keys werden erst nach vollständigen Zurückschreiben erstellt. Das Zurückschreiben wird dadurch beschleunigt.
Option --extended-insert
Innerhalb einer INSERT-Anweisung werden mehrere Datensätze geschrieben, z.B.:
INSERT INTO `help_category` VALUES (1,'Geographic',0,''),(2,'Polygon properties',33,''), [...]
an Stelle von
INSERT INTO `help_category` VALUES (1,'Geographic',0,''); INSERT INTO `help_category` VALUES (2,'Polygon properties',33,''); [...]
Option --add-drop-tables
Vor dem Befehl zum Anlegen einer Tabelle wird versucht eine Drop-Anweisung auszuführen. Wenn man den Dump zurück spielt werden also alle Tabellen vorher auf jeden Fall gelöscht:
DROP TABLE IF EXISTS `columns_priv`; CREATE TABLE `columns_priv` ( [...]
Option --add-locks
Vorm Zurückschreiben wird für jede Tabelle ein lock gesetzt und anschließend wieder aufgehoben, z.B.:
LOCK TABLES `columns_priv` WRITE; [...] UNLOCK TABLES;
Während des Zurückspielens ist die Tabelle für alle Zugriffe gesperrt, aber Einfügevorgänge werden beschleunigt.
Option --quick
Jeder Datensatz einer Tabelle wird einzeln vom Server abgerufen. Ansonsten würde mysql versuchen, die gesamten Daten der Tabelle in den Speicher zu schreiben. Bei großen Tabellen kann das zu einer Fehlermeldung und Abbruch führen.
Option --set-charset
Fügt zum Beispiel folgende Zeile in das Dump-File ein:
/*!40101 SET NAMES utf8 */;
Natürlich kann es andere Standard-Zeichensätze geben.
mysqldump ohne Option --opt
Wer diese Option komplett überspringen will, gibt die Option --skip-opt an:
mysqldump -u root -p --skip-opt --all-databases --result-file=dbdata.sql
Es lassen sich aber auch nur einzelne Optionen mit --skip deaktivieren. Die Option --skip-opt hat fast die gleiche Bedeutung wie (Gilt nicht für die Option --skip-add-drop-tables):
mysqldump --skip-create-options --skip-disable-keys --skip-extended-insert --skip-lock-tables --skip-quick --skip-set-charset [...]
Kommentare
Aleksandr (nicht überprüft)
13. Februar 2012 - 9:44
Permanenter Link
Danke, war hilfreich.