MySQL服務器正在使用--secure file priv選項運行,因此無法執行此語句


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

 

secure-file-priv特性
secure-file-priv參數是用來限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()傳到哪個指定目錄的。

  • ure_file_priv的值為null ,表示限制mysqld 不允許導入|導出

  • 當secure_file_priv的值為/tmp/ ,表示限制mysqld 的導入|導出只能發生在/tmp/目錄下

  • 當secure_file_priv的值沒有具體值時,表示不對mysqld 的導入|導出做限制

如何查看secure-file-priv參數的值:

show global variables like '%secure%'; 
mysql> show global variables like '%secure%';
Variable_name Value
require_secure_transport OFF
secure_auth ON
secure_file_priv /var/lib/mysql-files/

3 rows in set (0.02 sec)

MYSQL新特性secure_file_priv對讀寫文件的影響
此開關默認為NULL,即不允許導入導出。

解決問題:
windows下:修改my.ini 在[mysqld]內加入secure_file_priv =

linux下:修改my.cnf 在[mysqld]內加入secure_file_priv =
MYSQL新特性secure_file_priv對讀寫文件的影響
然后重啟mysql,再查詢secure_file_priv

 如果在employee表中包含了中文字符,使用上面的語句則會輸出亂碼。此時,加入CHARACTER SET gbk語句即可解決這一個問題。修改SQL代碼如下:導出shopping數據庫中的查category3表

SELECT * FROM shopping.`category3` INTO OUTFILE
'C:/Users/Administrator/Desktop/68/cc/a2.txt'

CHARACTER SET gbk

FIELDS
TERMINATED BY '\、'
OPTIONALLY ENCLOSED BY '\"'
LINES
STARTING BY '\>'
TERMINATED BY '\r\n';

 

原著:https://www.cnblogs.com/monkeybron/articles/10888629.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM