无法使用LOAD DATA INFILE | -secure-file-priv问题

时间:2018-09-27 16:35:50

标签: mysql sql mysql-workbench

我尝试了许多可能的解决方案来解决此问题,但是似乎没有一个解决方案。

我在这里尝试了其他文章的解决方案,但似乎都没有效果

我正在运行 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 =“” {也尝试删除“”})
  • 我通过运行查询检查了目录,并说它是我在桌面上设置的目录

还有其他可以尝试将数据加载到表中或删除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(操作系统errno 13-权限被拒绝)

1 个答案:

答案 0 :(得分:0)

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

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