Mysql

如何讓 LOAD DATA LOCAL INFILE 在 Windows 機器上為 MySQL 8.0.21 工作?

  • September 29, 2020

我創建了一個文件:'C:\fff.txt'其中包含我的數據庫表的數據。然後我試圖從該文件中載入數據,如下所示:

LOAD DATA LOCAL INFILE 'C:\\fff.txt' INTO TABLE fff
LINES TERMINATED BY '\r\n'; 

但我一直收到以下錯誤:

ERROR 2 <HY000>: File 'C:\fff.txt' not found (OS errno 2 - No such file or directory)

我已經添加local_infile=1到文件的[mysql][mysqld]部分my.ini。當我輸入時:SHOW GLOBAL VARIABLES LIKE 'local_infile';我可以看到它設置為'ON'. 有沒有辦法解決這個問題?

Windows 限制對該文件夾的訪問。

最好是創建一個單獨的文件夾並賦予它正確的訪問權限。

我嘗試了很多,但我無法複製您的消息,當文件存在時,它可以打開它並插入數據。

所以基本步驟

打開你的 my.ini 文件

並找到,所以把新創建的文件夾放在那裡

“c:/my_folder/”

雙引號

# Secure File Priv. 
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/"

重啟你的伺服器

把你的fff.txt放在那裡

應該是這樣的

test
test
test
test
test
test

然後執行

LOAD DATA INFILE 'c:/my_folder/fff.txt' INTO TABLE fff
LINES TERMINATED BY '\r\n'; 

並插入性別行。

引用自:https://dba.stackexchange.com/questions/276076