2012-05-23 18 views
14

我在使用putty SSH隧道的本地主機和遠程服務器之間建立了連接。使用SSH隧道將本地SQL文件導入到遠程服務器上的MySQL

這很好。

現在我需要一個命令來獲取我的本地機器即C對SQL文件:\文件夾\ TEST.SQL並將其導入到MySQL的遠程服務器

我想,也許在...

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

那麼不喜歡

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

該命令沒有工作的命令。

我該如何實現這個目標?

+0

你真的想將其導入到mysql服務器在遠程機器上?那麼不需要先將它傳輸到本地機器上。 – cb0

+0

這是一個從不同服務器到遠程服務器的SQL文件,我將使用 – Jkk

回答

3

使用'scp'來複制和mysql插入到你的本地機器。

語法:

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

你轉移文件使用後:

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

這可以通過單個命令完成嗎? – jmserra

9

您需要ssh到遠程計算機與附加mysql命令:

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

你應該運行這個命令

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

file.sql包含SQL查詢來運行和output.log是有道理的,只有當你有一個返回的東西(如選擇)查詢

唯一不同的,我可以在你的代碼看到的是空白-p選項和密碼之間的空格。如果使用-p選項,則必須在不留空白的情況下編寫密碼。或者你只是用戶可以選擇--password =密碼

我希望你能解決這個問題

+0

這是理想的。儘管如此,在你真的知道你在做什麼之前,允許遠程連接到mysql服務器可能不是一個好習慣。 – augusto

+1

如果您的'sql'文件包含模式定義,則只需運行以下命令:mysql -h host -u user_name -pPassword CommandZ

-1

您可以使用pscp上傳文件到服務器。轉到您的命令行,然後輸入以下

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

相關問題