Großen MySQL Dump mit grep und sed in kleinere Teile aufteilen

Werbung

In dem vorliegenden Fall habe ich einen SQL Dump über die komplette Datenbank. Diesen kann ich aber aus den verschiedensten Gründen nicht einfach so einspielen wie er ist. Daher teile ich diesen großen Dump einfach in mehrere einzelne Dumps auf.

Auf der Linux oder Mac OS Konsole benutzen wir die Kommandozeilen Tools grep und sed.

Mit

grep -n 'Table structure' grosser_dump.sql

lasse ich mir die Zeilen angeben, in denen die Daten für die entsprechende Tabelle beginnen.

Werbung
1826:-- Table structure for table users
1849:-- Table structure for table orders
2056:-- Table structure for table sales
2081:-- Table structure for table stats

Um jetzt nur die Tabelle Orders als SQL Dump zu sichern führe ich den Befehl

sed -n '1849,2056 p' grosser_dump.sql > orders.sql

aus.  Die 1849 ist die erste Zeile des Bereichs, den ich kurz vorher ermittelt habe. Die zweite Zahl 2056 ist die Zahl des nächsten Bereichs. Jetzt habe ich in der orders.sql die Definition der orders Tabelle.