MacOS下如何解决MySQL --secure-file-priv导致的ERROR 1290错误
解决MacOS下MySQL禁用--secure-file-priv选项的问题
针对你遇到的ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement错误,以下是MacOS系统下的针对性解决方案(分两种常见安装场景):
第一步:确认当前设置
先登录MySQL执行以下命令,查看当前secure_file_priv的配置值:
SHOW VARIABLES LIKE 'secure_file_priv';
如果返回值为某个路径或NULL,说明该选项处于启用状态。
场景1:Homebrew安装的MySQL
- 停止MySQL服务:
brew services stop mysql
- 定位配置文件:
- Intel芯片Mac:
/usr/local/etc/my.cnf - M1/M2芯片Mac:
/opt/homebrew/etc/my.cnf
- Intel芯片Mac:
- 编辑配置文件,在
[mysqld]段添加或修改:
[mysqld] secure_file_priv = ""
- 保存文件后重启服务:
brew services start mysql
- 再次登录MySQL执行第一步的命令,确认
secure_file_priv值变为空字符串,即表示禁用成功。
场景2:官方DMG包安装的MySQL
- 停止服务:打开「系统偏好设置」→ 找到「MySQL」→ 点击「Stop MySQL Server」
- 配置文件处理:
- 检查
/etc/my.cnf是否存在,若不存在则新建该文件 - 编辑文件,添加以下内容:
- 检查
[mysqld] secure_file_priv = ""
- 回到系统偏好设置,点击「Start MySQL Server」重启服务
- 登录MySQL验证配置是否生效。
排查配置未生效的情况
如果修改后配置仍未生效,可执行以下命令查看MySQL加载配置文件的优先级:
mysqld --help --verbose | grep -A 1 "Default options"
确保你修改的是列表中优先级最高的配置文件。
内容的提问来源于stack exchange,提问作者sf321
相关产品推荐
相关产品推荐

