MySQL Workbench导入CSV遇Error 1290:secure-file-priv配置问题求助
解决MySQL Error 1290 (secure-file-priv 限制)问题
1. 先确认当前secure-file-priv配置
执行以下SQL查看MySQL允许的文件路径:
SHOW VARIABLES LIKE 'secure_file_priv';
返回的路径必须和你的CSV文件所在路径完全一致,注意空格、大小写(Windows下MySQL可能对路径空格敏感)。
2. 修正文件路径格式
- 路径必须用正斜杠
/或双反斜杠\\,单斜杠会被MySQL识别为转义字符,导致路径无效。 - 正确路径示例:
或'C:/ProgramData/MySQL/MySQL Server 8.2/Uploads/Myfile.csv''C:\\ProgramData\\MySQL\\MySQL Server 8.2\\Uploads\\Myfile.csv' - 注意:你的路径里
MySQLServer 8.2应该是MySQL Server 8.2(带空格),这很可能是报错的核心原因。
3. 修改my.ini配置(如需调整权限范围)
- 找到my.ini:通常在
C:\ProgramData\MySQL\MySQL Server 8.2目录下(ProgramData是隐藏文件夹,需在文件夹选项中开启显示)。 - 打开my.ini,定位到
[mysqld]段落,添加或修改:
如果需要允许从任意路径导入(仅测试环境使用,生产环境不推荐),可设置:secure-file-priv = "C:/ProgramData/MySQL/MySQL Server 8.2/Uploads/"secure-file-priv = "" - 保存配置后,重启MySQL服务:按下
Win+R输入services.msc,找到MySQL82服务,右键选择「重启」。
4. 正确的导入SQL示例
确保目标表结构与CSV字段匹配后,执行:
LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.2/Uploads/Myfile.csv' INTO TABLE your_target_table FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 ROWS; -- 如果CSV包含表头行,忽略第一行
内容的提问来源于stack exchange,提问作者Anthony Leroux
相关产品推荐
相关产品推荐

