我已經搜索並找到了這篇文章(http://stackoverflow.com/questions/1814297/cant-load-file-data-in-the-mysql-directory),但它不適合我。替代LOAD_FILE()函數?
我是聯合國的Ubuntu 12.04和MySQL的版本是5.5.22-0ubuntu1
我已經登錄到MySQL作爲根等補助都應該沒關係:
mysql> show grants;
+---------------------------------------------------------------------+
| Grants for [email protected] |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
我試圖插入一些數據從一個文本文件到一個MySQL數據庫和LOAD_FILE
函數似乎不能正常工作
我創建了一個測試文件,權限爲777並複製到安裝的根目錄(我嘗試將所有者/組更改爲root:根和MySQL:MySQL和仍然沒有好):
mysql> select load_file('/test.txt');
+------------------------+
| load_file('/test.txt') |
+------------------------+
| NULL |
+------------------------+
1 row in set (0.00 sec)
但如果我試試這個:
mysql> select load_file('/etc/hosts');
它工作正常。如果我將測試文件複製到/etc
中,它仍會失敗。
有沒有人看過這個或者可以指向我另一種方式加載到數據庫?
'secure_file_priv'爲空。我在本地運行並使用完整路徑並且可讀。測試文件的大小要小於'/ etc/hosts',所以以上所有內容都應該沒問題。它不是SQL語句,所以也不起作用。它基本上是一個文本文件中的大量數字,它們被髮送並且在測試步驟中接收到類似的數據。 – Firedragon
你確定這裏的路? 'select load_file('/ test.txt');'這不是完整路徑,除非文件實際位於'/ test.txt' –
文件被複制到那裏。我嘗試過'/ home/me/test.txt'這樣的各種路徑,它不起作用。 – Firedragon