371 Stimmen

Herunterladen des MySQL-Dumps von der Kommandozeile

Ich ziehe von Linode weg, weil ich nicht über die notwendigen Linux-Sysadmin-Kenntnisse verfüge. Bevor ich den Übergang zu einem eher einsteigerfreundlichen Dienst vollziehe, muss ich den Inhalt einer MySQL-Datenbank herunterladen. Gibt es eine Möglichkeit, dies über die Befehlszeile zu tun?

785voto

nickhar Punkte 19360

Sie können dies mit der Funktion mysqldump Befehlszeilenfunktion.

Zum Beispiel:

Wenn es eine ganze DB ist, dann:

   $ mysqldump -u [uname] -p db_name > db_backup.sql

Wenn es alle DBs sind, dann:

   $ mysqldump -u [uname] -p --all-databases > all_db_backup.sql

Wenn es sich um bestimmte Tabellen innerhalb einer DB handelt, dann:

   $ mysqldump -u [uname] -p db_name table1 table2 > table_backup.sql

Sie können sogar so weit gehen, die Ausgabe mit gzip automatisch zu komprimieren (wenn Ihre DB sehr groß ist):

   $ mysqldump -u [uname] -p db_name | gzip > db_backup.sql.gz

Wenn Sie dies tun möchten per Fernzugriff und Sie Zugriff auf den fraglichen Server haben, dann würde folgendes funktionieren (vorausgesetzt, der MySQL-Server läuft auf Port 3306):

   $ mysqldump -P 3306 -h [ip_address] -u [uname] -p db_name > db_backup.sql

Es sollte die .sql Datei in dem Ordner, von dem aus Sie die Befehlszeile ausführen.

EDIT: Aktualisiert, um die Einbeziehung von Passwörtern in CLI-Befehle zu vermeiden, verwenden Sie die -p ohne das Passwort. Sie werden zur Eingabe aufgefordert und nicht aufgezeichnet.

17voto

Lorenzo Lerate Punkte 3121

In den neuesten Versionen von mysql, zumindest in meiner, können Sie Ihr Passwort nicht direkt in den Befehl eingeben.

Sie müssen laufen:

mysqldump -u [uname] -p db_name > db_backup.sql

und dann wird nach dem Passwort gefragt.

13voto

Andrew Punkte 15913

Für das Herunterladen von einem entfernten Server gibt es ein einfaches Beispiel:

mysqldump -h my.address.amazonaws.com -u my_username -p db_name > /home/username/db_backup_name.sql

Das -p zeigt an, dass Sie ein Passwort eingeben müssen, es bezieht sich nicht auf den db_name. Nach der Eingabe des Befehls werden Sie zur Eingabe des Passworts aufgefordert. Geben Sie es ein und drücken Sie die Eingabetaste.

10voto

drooh Punkte 460

Unter Windows müssen Sie das mysql-Bin angeben, in dem sich die Datei mysqldump.exe befindet.

cd C:\xampp\mysql\bin

mysqldump -u[username] -p[password] --all-databases > C:\localhost.sql

Speichern Sie dies in einer Textdatei wie backup.cmd

4voto

Nithin Raja Punkte 1034

Gehen Sie nicht hinein mysql einfach öffnen Eingabeaufforderung und geben Sie dies direkt ein:

mysqldump -u [uname] -p[pass] db_name > db_backup.sql

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X