it-swarm.com.de

Wie exportiere/importiere ich eine WordPress (MySQL) -Datenbank ordnungsgemäß über die Befehlszeile?

Normalerweise kann eine MySQL-Datenbank mit diesen einfachen SSH-Befehlen exportiert und importiert werden:

Export:

mysqldump -u USERNAME -p DATABASE_NAME > filename.sql

Import:

mysql -u USERNAME -p DATABASE_NAME < filename.sql

Aber so einfach ist es nicht, wenn es um WordPress geht. Nach dem, was ich sehe, müssen zusätzliche Parameter erwähnt werden, wie zum Beispiel --add-drop-table.

Der WordPress-Codex enthält einige Informationen , sieht jedoch überladen und nicht klar genug aus.

Es wäre großartig, wenn jemand, der die Befehlszeile verwendet, die richtigen Befehle zum Exportieren und Importieren einer WordPress-Datenbank mit einigen Erläuterungen (zu neuen verwendeten Parametern) teilen könnte.

Gibt es auch Gründe, warum es nicht ratsam ist, im Umgang mit Datenbanken die Befehlszeile zu verwenden und stattdessen eine GUI wie phpMyAdmin zu verwenden?

7
its_me

So einfach ist das auch für Wordpress. Ich verwende Folgendes, um meine WP Websites zu sichern:

mysqldump -u <user> -p<pass> --quick --extended-insert <db-name> > backup.sql

Das mysqldump-Dokument gibt die Details zu allen Parametern an.

--extended-insert ist schneller beim Aktualisieren einer Datenbank aus einer Sicherungsdatei und verkleinert die Sicherungsdatei.

--quick beschleunigt die Erstellung des Dumps.

Sie brauchen beides nicht wirklich zu verwenden, machen die Dinge nur etwas schneller und das Schreiben einer Einfügung für jede Zeile macht mich glücklicher - Ihre ursprüngliche Dump-Syntax wäre in Ordnung.

Vergessen Sie jedoch nicht, dass die Datenbank domänenspezifische Einträge enthält. Wenn Sie diese Methode zum Sichern/Wiederherstellen verwenden, ist dies in Ordnung. Wenn Sie jedoch von one.com nach two.com wechseln möchten, müssen Sie diese bearbeiten Einträge in wp_options, nachdem Sie Ihren Speicherauszug wiederhergestellt haben.

11
Steve Claridge

Nachdem ich die Zeit investiert habe, um die Grundlagen der Kommandozeile zu erlernen, benutze ich phpMyAdmin immer seltener. Ich finde es jedoch einfacher, wenn ich einen Eintrag durchsuchen oder bearbeiten muss (z. B. die wp_options-Einträge, wie Steve oben erwähnt). Ich ging auch zur GUI, um eine besonders große Tabelle (wie die Protokolle eines Plugins) auszuschließen, die nicht gesichert werden musste. Aber ich habe herausgefunden, dass Sie einfach hinzufügen können

--ignore-table=my_db_name.my_table_name my_db_name
1
markcbain

Zum Kopieren einer Site an einen neuen Speicherort.

verwenden Sie beim Exportieren --add-drop-table, wenn Sie in eine leere Datenbank importieren. Lassen Sie --add-drop-table während des Exports weg, wenn Sie importieren, um die Datenbank zusammenzuführen.

Denken Sie daran, wp_options jedes Mal nach dem Import zu aktualisieren, da der Pfad unterschiedlich ist. Aktualisieren Sie außerdem die .htaccess-Datei mit einem neuen Pfad.

0
user3548101