1. 程式人生 > >mysql --secure-file-priv問題解決方案

mysql --secure-file-priv問題解決方案

ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement.

對於上述錯誤,相信對於第一次執行 MySQL 資料匯出操作的同學大都會遇見。至於為什麼會遇到這個錯誤,原因很簡單,那就是:我們不知道 MySQL 預設的匯出目錄是哪裡,甚至都不知道 MySQL 對於資料的匯出目錄都有所限制。這其實很正常,因為我們不可能知道所有事,只要我們在遇到問題之後,能夠找到正確的解決方法並記住就足夠啦!學習嘛,就是一個不斷積累的過程。

接下來,我們就一起來看看如何解決這個問題:在我們安裝完 MySQL 之後,會自動生成一個名為my.ini

的配置檔案,該檔案記錄了 MySQL 的所有預設配置,如埠號、預設字符集、預設儲存引擎等等。而這個配置檔案,則位於隱藏資料夾ProgramData中,至於如何找到該隱藏資料夾,具體可以參考詳述檢視 MySQL 資料檔案儲存位置的方法

此外,我們也可以通過命令檢視secure-file-priv的當前值:

  • show variables like '%secure%';

執行上述命令,進行測試:

6

如上圖所示,我設定的secure-file-priv值為D:/CoderLife/testMySQL,而 MySQL 預設的值為:

  • secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.7/Uploads"

我們可以通過開啟my.ini配置檔案進行檢視及修改:

7

如上圖所示,我註釋了 MySQL 的預設值,並修改成自己指定的路徑。實際上,在我們修改此配置檔案的內容之後,例如修改了secure-file-priv的預設值,要想使其生效,我們必須關閉 MySQL 然後重新啟動。在這裡,需要我們注意的是:關閉 MySQL 並不是指簡單的用exit命令退出 MySQL 或者關閉 MySQL 視窗,而是關閉 MySQL 服務,然後重新啟動服務。至於如何開啟和關閉 MySQL 服務,具體可以參考詳述 MySQL 資料庫輸入密碼後閃退的問題及解決方案