Ich entferne mich von Linode, weil ich nicht über die erforderlichen Linux-Systemadministratorkenntnisse verfüge. Bevor ich den Übergang zu einem Noob-freundlicheren Dienst abschließen kann, muss ich den Inhalt einer MySQL-Datenbank herunterladen. Gibt es eine Möglichkeit, dies über die Befehlszeile zu tun?
mysql
command-line
command-line-arguments
linode
Phillip Copley
quelle
quelle
Antworten:
Sie können dies mit der Befehlszeilenfunktion mysqldump erreichen .
Zum Beispiel:
Wenn es sich um eine gesamte Datenbank handelt, gilt Folgendes:
Wenn es nur DBs sind, dann:
Wenn es sich um bestimmte Tabellen in einer Datenbank handelt, gilt Folgendes:
Sie können sogar die Ausgabe mit gzip automatisch komprimieren (wenn Ihre Datenbank sehr groß ist):
Wenn Sie dies remote tun möchten und Zugriff auf den betreffenden Server haben, funktioniert Folgendes (vorausgesetzt, der MySQL-Server befindet sich an Port 3306):
Die
.sql
Datei sollte in dem Ordner abgelegt werden, in dem Sie die Befehlszeile ausführen.BEARBEITEN: Aktualisiert, um die Aufnahme von Kennwörtern in CLI-Befehle zu vermeiden. Verwenden Sie die
-p
Option ohne Kennwort. Sie werden dazu aufgefordert und nicht aufgezeichnet.quelle
wget
oderscp
wird benötigt, um die einmal erstellte Datei abzurufen.>
zum Speichern zu verwenden, verwende ich eher-r
, um Probleme mit fremden Zeichen oder diesen Albtraum in Bezug auf Codierungsprobleme zu vermeiden, wie in diesem Artikel angegeben .--result-file=db_backup.sql
anstelle von verwenden> db_backup.sql
. Zitat aus der MySQL-Dokumentation : "UTF-16 ist als Verbindungszeichensatz nicht zulässig (siehe Unzulässige Client-Zeichensätze ), daher wird die Speicherauszugsdatei nicht korrekt geladen. Um dieses Problem zu umgehen , verwenden Sie die--result-file
Option, mit der die Ausgabe in erstellt wird ASCII-Format ".In den neuesten Versionen von MySQL, zumindest in meinen, können Sie Ihren Pass nicht direkt in den Befehl eingeben.
Du musst rennen:
mysqldump -u [uname] -p db_name > db_backup.sql
und dann wird nach dem Passwort gefragt.
quelle
-p
Option und tatsächlichem Passwort ist der TrickBeim Herunterladen vom Remote-Server ist hier ein einfaches Beispiel:
Das -p gibt an, dass Sie ein Passwort eingeben, es bezieht sich nicht auf den Datenbanknamen. Nach Eingabe des Befehls werden Sie zur Eingabe des Passworts aufgefordert. Geben Sie es ein und drücken Sie die Eingabetaste.
quelle
Unter Windows müssen Sie den MySQL-Bin angeben, in dem sich die Datei mysqldump.exe befindet.
Speichern Sie dies in einer Textdatei wie backup.cmd
quelle
mysql
Befehle von überall ausführen können, ohne sich in ihrem Verzeichnis zu befinden.Öffnen Sie die Eingabeaufforderung und geben Sie diesen Befehl direkt ein. Gehen Sie nicht in MySQL und geben Sie diesen Befehl ein.
quelle
Gehen Sie zum MySQL-Installationsverzeichnis und öffnen Sie von dort aus cmd. Führen Sie dann den folgenden Befehl aus, um eine Sicherung Ihrer Datenbank zu erhalten.
quelle
Geben Sie einfach
mysqldump
odermysqldump --help
in Ihr cmd einhow to use
Hier ist mein cmd Ergebnis
quelle
Wenn Sie MySQL anders als den Standardport ausführen:
quelle
Für diejenigen, die ein Passwort in die Befehlszeile eingeben möchten. Es ist möglich, aber empfehlen, es in Anführungszeichen zu setzen, damit das Sonderzeichen keine Probleme verursacht.
quelle
Verwenden Sie dies Wenn Sie die Datenbank mit dem Namen archiedb haben, verwenden Sie diese mysql -p --databases archiedb> /home/database_backup.sql
Angenommen, dies ist Linux, wählen Sie, wo die Sicherungsdatei gespeichert werden soll.
quelle
Für Windows-Benutzer können Sie den Befehl in Ihrem MySQL-Ordner ausführen
z.B
quelle
Hinweis: Dieser Schritt erfolgt erst nach dem Speichern Ihrer MySQL-Datei (die in den meisten der oben genannten Antworten behandelt wurde).
Es wird davon ausgegangen, dass Sie die besagte Dump-Datei auf Ihrem Remote-Server haben und sie jetzt auf Ihren lokalen Computer übertragen möchten.
Führen Sie die folgenden Schritte
.sql
aus, um die ausgelagerte Datei von Ihrem Remote-Server auf Ihren lokalen Computer herunterzuladenquelle