You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL Error Code:2068求助——LOAD DATA LOCAL INFILE访问受限

解决MySQL LOAD DATA LOCAL INFILE 2068权限限制错误

针对你遇到的Error Code: 2068错误,以下是实际排查和解决的经验,已帮不少用户解决过同类问题:

1. 确保客户端连接时启用LOCAL_INFILE支持

仅在MySQL会话中执行SET GLOBAL local_infile=1或SET OPT_LOCAL_INFILE=1不够,客户端连接时必须主动开启该选项:

  • 命令行客户端:连接时添加--local-infile=1参数,示例:
    mysql -u your_username -p --local-infile=1 your_database_name
    
  • GUI工具(如MySQL Workbench、Navicat):
    • 在连接配置的「高级」选项中,将OPT_LOCAL_INFILE=1添加到「其他参数」;
    • 保存配置后重新建立连接,旧连接不会自动生效。

2. 检查并授予用户FILE权限

LOAD DATA操作要求用户拥有全局FILE权限,执行以下语句授权:

GRANT FILE ON *.* TO 'your_username'@'your_host';
FLUSH PRIVILEGES;

注意:FILE是全局权限,不能仅针对单个数据库,因此必须使用*.*。

3. 验证本地文件的访问权限

LOCAL INFILE由客户端进程读取文件后发送给服务端,需确保:

  • 客户端所在用户(比如你Mac的登录用户)拥有该CSV文件的读取权限;
  • 文件路径完全正确,避免拼写错误、大小写不一致(Mac虽不敏感,但尽量匹配);
  • 可临时将文件移到权限更开放的目录(如桌面根目录)测试,排除目录权限限制。

4. 检查MySQL配置的额外限制

  • 打开MySQL配置文件(Mac下Homebrew安装的通常是/usr/local/etc/my.cnf或/etc/my.cnf),确保:
    local_infile=1
    # 若存在secure_file_priv,注释掉或设为空(针对服务端LOAD DATA,但部分环境会影响LOCAL)
    # secure_file_priv=""
    
  • 修改后重启MySQL服务,Mac下示例命令:
    sudo brew services restart mysql
    

5. 排查版本兼容性问题

若MySQL服务端为8.0+版本,而客户端版本较旧,可能存在LOCAL INFILE兼容性问题,尽量保证客户端与服务端版本一致。


内容的提问来源于stack exchange,提问作者Teron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 11:10:36