MySQL 5.7 --secure-file-priv 问题

在尝试从CSV文件导入数据到MySQL 5.7时遇到了ERROR 1290和ERROR 13的问题。错误原因在于--secure-file-priv选项限制了文件导入路径。解决方案包括明确指定LOCAL关键字以让客户端读取文件,或者为MySQL赋予FILE权限。需注意文件路径和MySQL服务的访问权限设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(这是一篇记录自己愚蠢错误的博客……避免以后再犯)


起因

前些天需要把一些数据从csv文件导入进MySQL,本来觉得是个几分钟的活计,最后硬是搞了几个小时才收场……

经过

  1. 开始导入: LOAD DATA INFILE "xxx" INTO TABLE tbl FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n'
    直接报错:ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement.
    使用SHOW GLOBAL VARIABLES LIKE '%secure_file%'查看当前配置的上传目录,windows下一般是在 C:\ProgramData\MySQL\MySQL Server 5.7\Uploads
    知道了目录,我就美滋滋的把要加载的文件放在了这个目录下,想着这下就没问题了吧?结果……
  2. 再次报错:ERROR 13 (HY000): Can’t get stat of ‘xxx’ (Errcode: 2)
    perror 2命令查询可知,错误代码13的意义是No such file or directory。这就奇了怪了,明明文件就在这里,为什么会有这种提示呢……
    查了MySQL的文档后发现,原因如下:
    MySQL Load data
    If LOCAL is specified, the file is read by the client program on the client host and sent to the s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值