2010-02-19 6 views

Antwort

49

Wenn Sie eine Datei generiert haben (sagen wir db-dump.sql) mit mysqldump, können Sie es zu Ihren anderen Datenbank mit dem mysql Befehl importieren:

mysql --user=XXX --password=XXX --host=YOUR_HOST DATABASE_NAME < db-dump.sql 


Und, wenn Sie nicht wollen, das Passwort in einem Befehl erscheinen, können Sie verwenden:

mysql --user=XXX -p --host=YOUR_HOST DATABASE_NAME < db-dump.sql 


Als Nebenbei bemerkt, wenn Sie eine DB auf einen anderen kopieren möchten, brauchen Sie nicht eine Datei zu verwenden, und kann nur direkt die Ausgabe des mysqldump-mysql:

mysqldump --user=XXX --password=XXX --host=SOURCE_HOST SOURCE_DB | mysql --user=XXX --password=XXX --host=DESTINATION_HOST DESTINATION_DB 

(Es sollte noch schneller sein, da Sie keine temporäre Datei verwenden, die sich auf der Festplatte befindet)

+3

Nun, das erklärt, warum mysqlimport nicht funktioniert hat. –

+0

viel besser mit Rohr. danke – barbolo

+0

@Pascal MARTIN Ich habe versucht, das gleiche zu tun und hatte keinen Erfolg. Hier ist mein Thread, der das Problem erklärt: http://dba.stackexchange.com/questions/160879/importing-sql-file-in-mysql-no-errors?noredirect=1#comment309278_160879 – John

12

Ich tue dies häufig:

mysqldump -u username -p databasename > dump.sql 

zu laden:

mysql -u username -p targetdatabasename < dump.sql 

Schalter -p die Datenbank weist Sie aufzufordern, das Passwort für den Benutzer username einmal den Befehl startet einzugeben.

Ihre Frage ist wahrscheinlich aber doppelt.

6

Sie können nur ‚Quelle‘ verwenden aus dem MySQL-Client:

source dumpfile.sql 

Oder Versorgung direkt von der Kommandozeile:

mysql -u user -p password database < source dumpfile.sql 

Dies ist, weil das Ergebnis von mysqldump ist nur eine SQL-Datei das kann wie gewohnt über mysql ausgeführt werden.