MariaDB - Backup-Lademethoden

In diesem Kapitel lernen wir verschiedene Methoden zum Laden von Backups kennen. Das Wiederherstellen einer Datenbank aus einer Sicherung ist ein einfacher und manchmal furchtbar langer Prozess.

Beim Laden von Daten gibt es drei Optionen: die Anweisung LOAD DATA, mysqlimport und eine einfache Wiederherstellung von mysqldump.

LOAD DATA verwenden

Die LOAD DATA-Anweisung fungiert als Bulk Loader. Sehen Sie sich ein Beispiel für die Verwendung an, mit dem eine Textdatei geladen wird.

mysql> LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl;

Beachten Sie die folgenden Eigenschaften einer LOAD DATA-Anweisung:

  • Verwenden Sie das Schlüsselwort LOCAL, um zu verhindern, dass MariaDB den Host gründlich durchsucht, und verwenden Sie einen ganz bestimmten Pfad.

  • Die Anweisung nimmt ein Format an, das aus durch Zeilenvorschübe (Zeilenumbrüche) abgeschlossenen Zeilen und durch Tabulatoren getrennten Datenwerten besteht.

  • Verwenden Sie die FIELDS-Klausel, um die Formatierung von Feldern in einer Zeile explizit anzugeben. Verwenden Sie die LINES-Klausel, um das Zeilenende anzugeben. Sehen Sie sich unten ein Beispiel an.

mysql> LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl
   FIELDS TERMINATED BY '|'
   LINES TERMINATED BY '\n';
  • Die Anweisung geht davon aus, dass Spalten in der Datendatei dieselbe Reihenfolge der Tabelle verwenden. Wenn Sie eine andere Reihenfolge festlegen müssen, können Sie die Datei wie folgt laden:

mysql> LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl (c, b, a);

Verwenden von MYSQLIMPORT

Das mysqlimport-Tool fungiert als LOAD DATA-Wrapper, der dieselben Vorgänge über die Befehlszeile ermöglicht.

Laden Sie die Daten wie folgt -

$ mysqlimport -u root -p --local database_name source_file.txt

Geben Sie die Formatierung wie folgt an:

$ mysqlimport -u root -p --local --fields-terminated-by="|" \
   --lines-terminated-by="\n" database_name source_file.txt

Verwenden Sie die -columns Option zur Angabe der Spaltenreihenfolge -

$ mysqlimport -u root -p --local --columns=c,b,a \
   database_name source_file.txt

Verwenden von MYSQLDUMP

Wiederherstellen mit mysqldump erfordert diese einfache Anweisung zum Laden der Dump-Datei zurück in den Host -

shell> mysql database_name < source_file.sql

BESONDERE ZEICHEN UND ZITATE

In einer LOAD DATA-Anweisung werden Anführungszeichen und Sonderzeichen möglicherweise nicht richtig interpretiert. Die Anweisung nimmt nicht in Anführungszeichen gesetzte Werte an und behandelt Backslashes als Escapezeichen. Verwenden Sie die FIELDS-Klausel, um die Formatierung festzulegen. Zeigen Sie mit „ENCLOSED BY“ auf Anführungszeichen, wodurch Anführungszeichen von Datenwerten entfernt werden. Änderungen werden mit "ESCAPED BY" beendet.