2016-10-27 71 views
0

在Ubuntu 14.04.5上運行MySql 5.5.53。當從文本文件導入數據時(加載數據infil $ FIL INTO TABLE & c)我得到了可怕的投訴,認爲它不能完成,因爲secure_file_privmysql:secure_file_priv(再次)

當諮詢時,secure_file_priv的值是/ var/lib/mysql-文件,我不能從mysql內部更改,我也沒有在任何配置文件中找到它,所以我認爲它必須是硬編碼的。

試圖通過創建一個文件/etc/mysql/conf.d/secure_file_priv更改值,與內容

[mysqld] 
secure_file_priv="" 

然後重新啓動mysql的與

/etc/init.d/mysql stop 
# wait for mysqld process to terminate 
/etc/init.d/mysql start 

,未發現變化。導入仍然會給出相同的錯誤,並且mysql仍然報告其默認值爲secure_file_priv變量。

然後改變了我的小文件讀取

[mysql] 
secure_file_priv="" 

和mysql再次重新啓動,使用完全相同的(缺乏)的結果。

什麼是確切方式來設置這個變量爲我特定的mysql安裝?或者我還缺少什麼?

回答

0

答案是:額外的配置文件必須有一個以「.cnf」結尾的名稱 在my.cnf結尾處這樣說,像往常一樣仔細閱讀就足夠了。

1

您可以檢查一下mysql-files目錄是否存在於/ var/lib中。 因爲它不是從mysql-5.5.52升級到5.5.53時自行生成的。 很多人都遇到過這個問題。 這是一個已知的錯誤https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/1637280

所以如果沒有生成那麼請使用follwing命令手動創建這個目錄,然後重新啓動mysql服務器。

sudo mkdir /var/lib/mysql-files 
sudo chown -R mysql:mysql /var/lib/mysql-files/ 
sudo chmod 700 /var/lib/mysql-files/ 
+0

尊敬的是,該目錄確實存在,它始終存在。其實,正如你上面看到的,我確實在其中創建了正確的文件,只有文件擴展名不正確。謝謝你的努力! –