首页 > 解决方案 > 无法使用 LOAD DATA INFILE | -secure-file-priv 问题

问题描述

我已经尝试了许多不同的可能解决方案来解决这个问题,但似乎没有一个能帮我解决这个问题。

我在这里尝试过其他文章的解决方案,但似乎没有一个有效

我正在运行MySQL 8.0(此版本不支持 LOAD DATA LOCAL INFILE)

我试图通过 LOAD DATA INFILE 将 csv 文件中的数据加载到我的表中。当我运行脚本时,我收到此错误:

错误代码:1290。 MySQL 服务器正在使用 --secure-file-priv 选项运行,因此无法执行此语句

我的代码:

LOAD DATA INFILE 'customer.csv'
INTO TABLE customer
FIELDS TERMINATED BY '|'
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

我试过以下

还有什么我可以尝试将数据加载到我的表中或删除 Secure File Priv 块的方法吗?

更新

这是当secure-file-priv为空时出现错误的代码:

LOAD DATA INFILE 'C:/users/user/desktop/college/advanced db/uploads/customer.csv'
INTO TABLE customer
FIELDS TERMINATED BY '|'
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

错误代码:29。找不到文件“C:\users\carl\desktop\college\advanced db\uploads\customer.csv”(OS errno 13 - 权限被拒绝)

标签: mysqlsqlmysql-workbench

解决方案


假设您使用的是 Windows 7 或更高版本:

  1. 在 windows 研究表中搜索“服务”(屏幕左下角)
  2. 在表中搜索Mysql服务并关闭
  3. 打开 my.ini 文件(我假设“C:\ProgramData\MySQL\my.ini”)
  4. 搜索 Secure-File-Priv 并分配“”。
  5. 通过“服务”或 Mysql 工作台重启进程
  6. 将 .csv 文件放入存在表的数据库目录(在本例中为“客户”),这是可能的路径:C:\ProgramData\MySQL\MySQL Server 8.0\Data\。
  7. 执行查询

推荐阅读