You need to enable JavaScript to run this app. MySQL导出CSV遇Error Code 1290且无my.ini时如何改默认导出路径
优惠活动
大模型
产品
解决方案
定价
更多

MySQL导出CSV遇Error Code 1290且无my.ini时如何改默认导出路径

MySQL导出CSV触发1290 secure-file-priv限制的解决方法

错误本质

Error Code 1290 是MySQL内置的安全拦截规则:只要启用了--secure-file-priv参数,所有INTO OUTFILE导出、LOAD DATA导入操作,只能在参数指定的白名单目录范围内执行,写入未授权的自定义目录就会直接被阻断,和SQL语法正误没有关系。

最省事的零配置方案

完全不需要找my.ini、不需要修改服务器配置、不需要重启服务:

  • 直接沿用当前已经获得权限的默认导出目录(就是你现在能正常跑通的C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\路径)执行导出
  • 导出完成后,直接到这个目录把生成的CSV文件剪切/复制到你自己的自定义目标文件夹即可,全程不影响数据库的安全配置,适合临时导出场景

长期需要自定义导出目录的操作步骤(解决找不到my.ini的问题)

大部分人找不到my.ini,不是文件不存在,是因为Windows下该配置文件所在的目录默认是隐藏属性,正常资源管理器浏览根本看不到:

  1. 先执行两条SQL直接拉取当前生效的服务器配置,避免无意义的文件搜索:
-- 查询当前secure_file_priv开放的可操作目录白名单
SHOW VARIABLES LIKE 'secure_file_priv';
-- 查询MySQL服务实际加载的配置文件路径
SHOW VARIABLES LIKE 'config_file';
  1. 打开Windows资源管理器的「查看」选项卡,勾选「隐藏的项目」,再打开路径C:\ProgramData\MySQL\MySQL Server 8.0\,就能看到被隐藏的my.ini配置文件
  2. 用文本编辑器打开my.ini,找到[mysqld]配置块下的secure_file_priv配置项:
    • 推荐保留安全限制,仅将配置值改成你的目标导出目录,例如secure_file_priv = "D:\mysql_export",路径里的反斜杠建议替换为正斜杠,避免解析异常
    • 不推荐注释掉这行配置或者把值设为空字符串,这会完全开放导入导出权限,大幅降低服务器的安全等级
  3. 保存修改后的my.ini,按下Win+R输入services.msc打开Windows服务面板,找到默认名为MySQL80的服务,点击「重启」,新的配置就会生效

你现有导出SQL的语法修正

当前SQL里的FIELDS ENCLOSED BY '"'和ESCAPED BY '"'配置有错误:"是HTML转义的双引号实体,导出时会直接作为普通字符串写入CSV,不会被解析为实际的双引号字符,会导致导出的文件格式不符合要求。
正确的配置写法应该直接使用双引号本身:

FIELDS ENCLOSED BY '"' 
TERMINATED BY ','
ESCAPED BY '"'
LINES TERMINATED BY '\n'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.06 07:36:05