[英]Import data from txt file to mysql workbench - windows
我在.txt文件上有大量数据(例如90.000行和10列,每个“项目”用逗号分隔),我需要找到一种方法将其从txt文件导入到mysql表中。 我做了一些研究,发现以下代码:
LOAD DATA INFILE "/my_path/file.txt" INTO TABLE "table" CHARACTER SET "utf8" FIELDS TERMINATED BY "," LINES TERMINATED BY "\r\n";
但这给了我以下错误:
Error Code: 29. File '/my_path/file.txt' not found (OS errno 13 - Permission denied) 0.000 sec
因此,在进行了更多搜索之后,我发现很多人都遇到了这个问题,但是仅通过添加单词“ LOCAL”(LOAD DATA LOCAL INFILE)就解决了,但这给了我这个错误:
Error Code: 1148. The used command is not allowed with this MySQL version 0.000 sec
(我正在使用MySQL Workbench 8.0)
因此,我尝试在my.ini文件中设置一些全局变量,如secure-file-priv=""
, loose-local-infile=1
和local-infile=1
,但似乎无济于事。
谁能帮我...
Ps 1 :我无法使用向导导入,因为即使它可以正常运行,但速度太慢
Ps 2 :我尝试将txt文件转换为csv,但是它也不起作用。
如果没有LOCAL
,则LOAD DATA INFILE
告诉MySQL服务器在其自己计算机的文件系统上查找文件并读取该文件。
因此,路径和文件必须存在于服务器计算机上。 并且,运行MySQL服务器的凭据(用户名)必须对该文件具有读取权限。
您的permission denied
错误提示我MySQL服务器无法读取该文件。
OP有两个问题:
a)从权限的角度来看,mysql没有访问输入文件的权限
b)输入文件未正确编码。
解决访问问题并将输入文件编码更正为utf8后,加载即可正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.