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

Mac系统下修改MySQL的secure-file-priv变量无效的问题

MySQL LOAD DATA INFILE 1290错误及secure_file_priv设置无效问题排查

问题场景

执行以下SQL语句导入CSV文件时触发报错:

LOAD DATA INFILE '/Users/aubrey/Documents/dbproject/dates_table.csv' 
INTO TABLE dates 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

报错信息:

Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

执行SHOW VARIABLES LIKE "secure_file_priv";返回结果为NULL,已修改my.cnf文件设置该变量为指定目录,重启服务器后Workbench选项文件显示配置已生效,但再次查询该变量仍返回NULL,尝试secure-file-priv和secure_file_priv两种写法均无效果。

运行环境:Ventura 13.1,MySQL 8.0.32 ARM64


排查与解决步骤

  • 确认修改的是正确的配置文件
    MySQL在ARM64架构的Ventura系统中,可能加载的配置文件路径并非你当前修改的文件。执行以下命令查看MySQL实际读取的配置文件优先级:

    mysql --help | grep "Default options" -A 1
    

    输出会显示启动时优先读取的配置文件列表,确保你修改的是列表中存在且优先级靠前的文件(如/etc/my.cnf或/usr/local/mysql/etc/my.cnf)。

  • 检查配置项的正确格式
    确保配置项写在my.cnf的[mysqld]区块内(该参数为服务器端参数,不属于客户端配置),格式示例:

    [mysqld]
    secure-file-priv = /Users/aubrey/Documents/dbproject/
    

    同时需保证目标目录存在,且赋予MySQL进程读写权限:

    sudo chmod 755 /Users/aubrey/Documents/dbproject/
    sudo chown _mysql:_mysql /Users/aubrey/Documents/dbproject/
    
  • 彻底重启MySQL服务
    仅通过Workbench重启可能不彻底,使用系统命令强制重启:

    # 若为brew安装的MySQL
    brew services restart mysql
    # 若为官方安装包
    sudo /usr/local/mysql/support-files/mysql.server restart
    

    重启后再次执行SHOW VARIABLES LIKE "secure_file_priv";确认变量值是否生效。

  • 验证CSV文件权限
    确保CSV文件的路径在secure-file-priv指定目录内,且文件权限允许MySQL读取:

    sudo chmod 644 /Users/aubrey/Documents/dbproject/dates_table.csv
    sudo chown _mysql:_mysql /Users/aubrey/Documents/dbproject/dates_table.csv
    
  • 备选方案:使用LOCAL关键字
    若上述方法仍无效,可尝试在语句中添加LOCAL,让客户端读取文件后发送给服务器(需先开启local_infile参数):

    SET GLOBAL local_infile = 1;
    LOAD DATA LOCAL INFILE '/Users/aubrey/Documents/dbproject/dates_table.csv' 
    INTO TABLE dates 
    FIELDS TERMINATED BY ',' 
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    IGNORE 1 ROWS;
    

    注意:使用该方式时,需在Workbench的连接设置中开启"Enable local_infile"选项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 02:27:43