2012-05-23 3 views
14

Ich habe eine Verbindung zwischen meinem localhost und einem Remote-Server mit Putty SSH-Tunnel.Importieren Sie eine lokale SQL-Datei in MySQL auf einem Remote-Server mithilfe von SSH-Tunnel

Das ist in Ordnung.

Jetzt brauche ich einen Befehl, um die SQL-Datei auf meinem lokalen Rechner zu bekommen, dh c: \ Ordner \ test.sql und importieren Sie es in mysql auf dem Remote-Server

Ich dachte, vielleicht ...

mysql -u prefix_username -p testpass -h localhost -P 3307 prefix_testdb 

tun dann einen Befehl wie

mysql -p testpass -u prefix_username prefix_testdb < c:\folder\test.sql 

dieser Befehl nicht funktioniert hat.

Wie kann ich das erreichen?

+0

Haben Sie es wirklich mit dem MySQL-Server auf dem entfernten Rechner zu importieren? Dann müssen Sie es nicht zuerst auf Ihren lokalen Computer übertragen. – cb0

+0

Es ist eine SQL-Datei von einem anderen Server zu dem Remote-Server, den ich verwenden werde – Jkk

Antwort

3

Verwenden Sie 'scp' zum Kopieren und mysql zum Einfügen auf Ihrem lokalen Rechner.

Syntax:

scp [email protected]_server:/path/to/sql/file.sql ~/path/to/local/directory 

nachdem Sie die Datei Verwendung übertragen:

mysql -uYouUserName -p name_of_database_to_import_to < ~/path/to/local/directory/file.sql 
+3

kann dies in einem einzigen Befehl erfolgen? – jmserra

9

Sie müssen die Remote-Rechner mit dem MySQL-Befehl angehängt ssh:

ssh [email protected]_server mysql -p testpass -u username testdb < c:\folder\test.sql 
24

Sie sollte diesen Befehl ausführen

mysql -h host -u user_name -pPassword database <file.sql> output.log 

file.sql enthält die SQL-Abfragen ausführen und output.log macht nur Sinn, wenn Sie eine Frage haben, die etwas zurückgibt (wie ein select)

Der einzige Unterschied ich in Ihrem Code sehen kann der Rohling Leerzeichen zwischen der Option -p und dem Passwort. Wenn Sie die Option -p verwenden, müssen Sie das Kennwort schreiben, ohne Leerstellen zu hinterlassen. Oder Sie können einfach Benutzer die Option --password = Passwort

Ich hoffe, dass Sie das Problem lösen können

+0

Dies ist im Idealfall wahr. Dennoch ist es möglicherweise keine gute Übung, Remote-Verbindungen zum mysql-Server zuzulassen, bis Sie wirklich wissen, was Sie tun. – augusto

+1

Wenn Ihre 'sql' Datei die Schemadefinition enthält, müssen Sie nur Folgendes ausführen:' mysql -h host -u Benutzername -pPassword CommandZ

-1

können Sie pscp verwenden Datei auf den Server hochzuladen. Gehen Sie zu Ihrer Kommandozeile und geben Sie diese

pscp.exe c:\folder\test.sql [email protected]:/serverpath 
4
1. mysql -h xxx -uxxx -pxxx . //login to the remote mysql 
2. use DATABASE.    //asign which db to import 
3. source path/to/file.sql //the path can be your local sql file path. 

refference: Import SQL file into mysql

Verwandte Themen