2010-09-20 76 views
1

我如何精確到我的本地機器?Outfile本地路徑規範

select * into outfile'C:\ Info \ table1.txt' fields from'''from table1;

此查詢在服務器上的table1.txt文件信息文件夾下創建,如何在此指定我的本地機器路徑?

謝謝。

+1

您沒有提供關於「本地機器」是什麼以及您如何訪問服務器的任何信息。 – 2010-09-20 21:58:31

+0

@皮卡 - 請看下面,我已經突出顯示。 – Sharpeye500 2010-09-20 22:13:25

回答

1

此查詢在服務器上創建信息文件夾下的table1.txt,如何在此處指定我的本地計算機路徑?

如果您使用SSH訪問遠程計算機,則至少不能直接訪問遠程計算機。據我所知,無法輸出INTO OUTFILE操作的結果。

建議解決方法:

  • 創建本地計算機上的網絡共享服務器可達(如果可能)

  • 創建一個網絡共享(或FTP帳戶...或WebDAV帳戶...),在那裏存儲轉儲並從那裏取回

+0

謝謝,但我沒有權限訪問服務器文件夾,我們有任何其他方式嗎? – Sharpeye500 2010-09-20 21:58:26

+0

數據庫是在遠程服務器,可以訪問使用託德,我想運行查詢導出到我的本地計算機的路徑(c:\ somefolder \ filename.txt)。 – Sharpeye500 2010-09-20 22:07:53

+0

@Sharpeye我不知道託德是什麼。維基百科也沒有:http://en.wikipedia.org/wiki/Todd – 2010-09-21 08:18:04

3

你不能直接做。 OUTFILE語法只適用於服務器本身。但是,你可以這樣做:

c:\> mysql -u username -h nameofserver -p -e "SELECT ... FROM database.table WHERE ..." > c:\info\table1.txt 

,如果你已經配置MySQL來允許從您的計算機的遠程連接。

+0

@Marc - 非常感謝,我需要在命令提示符下運行這個嗎?或者我可以直接在服務器的查詢瀏覽器上運行它? – Sharpeye500 2010-09-20 22:01:07

+0

@Sharpeye您需要提供有關您的服務器設置的更多信息。我們仍然不知道您通過什麼樣的連接訪問服務器。 – 2010-09-20 22:04:44

+0

你必須從你的本地機器運行它,告訴mysql監視器連接到你的MySQL服務器,這意味着MySQL必須允許TCP連接和一個帳戶供你通過TCP訪問。 Pekka的解決方案可能會更好 - 使用SELECT ... OUTFILE在服務器上生成文件,然後您可以通過其他方式進行傳輸。 – 2010-09-20 22:13:52