首页 文章

将数据从txt文件导入到mysql workbench - windows

提问于
浏览
1

我在.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=1local-infile=1 ,但似乎没有任何效果 .

任何人都可以帮助我...

Ps 1 :我可以't use the wizard import because even though it would work, it'太慢了

Ps 2 :我试图将我的txt文件转换为csv,但它也没有用 .

2 回答

  • 2

    OP有两个问题:

    a)mysql无权从权限角度访问输入文件

    b)输入文件未正确编码 .

    解决访问问题并将输入文件编码更正为utf8后,加载正常 .

  • 0

    Without LOCAL, LOAD DATA INFILE告诉MySQL服务器在自己的机器的文件系统上找到该文件并读取它 .

    因此,路径和文件必须存在于服务器计算机上 . 并且,运行MySQL服务器的凭据(用户名)必须具有对该文件的读访问权 .

    您的 permission denied 错误提示我MySQL服务器无法读取该文件 .

相关问题