Mysql 導入文件提示 --secure-file-priv option 問題

MYSQL導入CSV格式文件數據執行提示錯誤(ERROR 1290):mysql

The MySQL server is running with the --secure-file-priv option so it cannot execute this statement.sql

【1】分析緣由測試

其實緣由很簡單,由於在安裝MySQL的時候限制了導入與導出的目錄權限。只容許在規定的目錄下才能導入。this

能夠經過如下命令查看secure-file-priv當前的值是什麼spa

SHOW VARIABLES LIKE "secure_file_priv";

結果:code

能夠看到,本地value的值爲NULL。NULL表明什麼意思呢?經查資料:server

(1)NULL,表示禁止。blog

(2)若是value值有文件夾目錄,則表示只容許該目錄下文件(PS:測試子目錄也不行)。it

(3)若是爲空,則表示不限制目錄。io

【2】解決方案

問題緣由找到了,解決方案因業務需求而定。

(1)方案一:

把導入文件放入secure-file-priv目前的value值對應路徑便可。

(2)方案二:

把secure-file-priv的value值修改成準備導入文件的放置路徑。

(3)方案三:修改配置

去掉導入的目錄限制。可修改mysql配置文件(Windows下爲my.ini, Linux下的my.cnf),在[mysqld]下面,查看是否有:

secure_file_priv =

如上這樣一行內容,若是沒有,則手動添加。若是存在以下行:

secure_file_priv = /home 

這樣一行內容,表示限制爲/home文件夾。而以下行:

secure_file_priv =

這樣一行內容,表示不限制目錄,等號必定要有,不然mysql沒法啓動。

修改完配置文件後,重啓mysql生效。

重啓後:

關閉:service mysqld stop

啓動:service mysqld start

再查詢結果:

經驗證,導入文件正常。

 

Good Good Study, Day Day Up.

順序 選擇 循環 總結

相關文章
相關標籤/搜索