首页 > 解决方案 > 将数据从txt文件导入mysql工作台-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'(加载数据本地输入)这个词来解决,但这给了我这个错误:

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:我不能使用向导导入,因为即使它可以工作,它也太慢了

Ps 2:我试图将我的 txt 文件转换为 csv,但它也不起作用。

标签: mysqlfilesecurityimportmysql-workbench

解决方案


没有LOCAL,告诉 MySQL 服务器在LOAD DATA INFILE自己机器的文件系统上查找文件并读取它。

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

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


推荐阅读