MySQL ERROR 1290求助:无法加载secure_file_priv指定目录文件
解决MySQL ERROR 1290加载数据问题
针对你遇到的ERROR 1290问题,结合你的操作场景,给你几个实用的解决步骤:
1. 补全文件后缀名并修正路径格式
你执行的命令里用的是"C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\Book1",MySQL需要明确的文件格式(比如CSV、TXT),另外Windows路径里的反斜杠需要转义成双反斜杠,或者用正斜杠代替。假设你的文件是CSV格式,修正后的命令如下:
load data infile "C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\Book1.csv" into table sample fields terminated by ',';
2. 确认文件位置与权限
- 确保
Book1.csv(或你的实际文件名)确实放在C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\目录下,不要误放至子文件夹。 - 检查文件权限,确保MySQL服务的运行用户(通常是Network Service)拥有读取该文件的权限。
3. 尝试使用LOCAL关键字加载
如果上述步骤无效,试试LOAD DATA LOCAL INFILE,它会从客户端本地加载文件,操作步骤:
- 先在MySQL客户端开启全局参数:
SET GLOBAL local_infile = 1; - 关闭当前连接,重新启动客户端(如果是命令行启动,需加参数:
mysql --local-infile=1 -u 你的用户名 -p) - 执行加载命令:
load data local infile "C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\Book1.csv" into table sample fields terminated by ',';
4. 修改MySQL配置文件(终极方案)
如果上面的方法都不行,可以调整MySQL的全局配置:
- 找到
my.ini文件(通常在C:\ProgramData\MySQL\MySQL Server 8.0\隐藏目录下) - 打开文件,定位到
[mysqld]部分,修改secure_file_priv参数:- 若要允许从任意目录加载,改为
secure_file_priv = "" - 若要固定目录,确保路径正确(推荐用正斜杠):
secure_file_priv = "C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/"
- 若要允许从任意目录加载,改为
- 保存文件后,打开Windows服务管理器(Win+R输入
services.msc),找到MySQL服务右键选择重启 - 重新连接MySQL后再执行LOAD DATA命令
内容的提问来源于stack exchange,提问作者Agniveer
相关产品推荐
相关产品推荐

