mysql 1261 load data_Mysql错误积累001-load data导入文件数据出现1290错误

当使用`load data`在MySQL中导入数据时遇到1290错误,提示因`--secure-file-priv`选项无法执行。通过查找`my.ini`配置文件,注释掉`secure-file-priv`选项并不能解决问题,因为这会导致其值变为NULL,进而禁止导入导出。正确的解决方案是修改`secure-file-priv`指向一个存在的目录,并重启MySQL服务,从而成功执行数据导入。

错误出现情景

在cmd中使用mysql命令,学生信息表添加数据。使用load data方式简单批量导入数据。

准备好文本数据: xueshengxinxi.txt 文件  数据之间以tab键进行分割

执行 “load data infile 文本数据路径  into table tab_load_data”  弹出错误。

cb646d8ef428059a3b7dd4b42fc2f992eb4.jpg

e836758902bd4412c2750e2a0bd67d06544.jpg

#loaddata (载入数据)语法,要载入数据如下:1 张三 男 江西 1

2 李四 男 四川 2

3 王五 男 上海 1

4 赵六 女 湖北 3

5 孙七 女 湖北 3

6 周八 男 湖南 1#测试数据表create tabletab_load_data (

idint auto_increment primary key,

namevarchar(10),

sex enum('男','女'),

nativevarchar(10),

f5int);

【点击查看】测试数据Demo

错误描述

使用load data 导入文件数据总是弹出错误(Error 1290.....)如下:

ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

493ccb346024c46461485336dd7678fb.png

解决思路(过程)

1) 既然错误提示说明运行了secure-file-priv这个选项,不能执行load服务,那就找到MYSQL的配置文件"my.ini" 中该配置项。

2) 配置前,先关闭mysql服务

3) 打开my.ini,搜索关键字“secure-file-priv”找到这个选项后,直接注释掉这个选项,保存后,启动MYSQL服务

aec4e3ee7a4c4252f39b7603c846472e.png

4)结果还是一样的错误。说明注释没有效果。这是怎么回事了?

执行命令 “show variables like '%secure%'”发现原来我注释掉后,secure-file-priv的值为NULL,说明禁止导入导出。

这说明注释掉是不行的。不删配置文件条目,那只好修改目录好了。

5)修改路径,执行命令 “show variables like '%secure%'” 查看 , 重启MYSQL。

72bd4027c4373168718381460fb272b7.png

7b9f7715cf0779cb798aebb320e62204.png

6)再执行load data, 执行成功

17676cc8e5e68f224e04828c69e890b4.png

更复杂的load用法可以查看mysql手册。 到此,该问题解决。

三, 小结说明

从本错误中吸取:

1) load data : 可以从一个外部的记事本文件中导入数据到某个表中。

该记事本中的数据通常要求“比较整齐”,一行文本对应一行数据,一行中用某种字符(如用tab符)来分割一个一个字段的值

2) secure-file-priv这个参数用来限制数据导入和导出操作的效果。

如:执行LOAD,SELECT...INTO OUTFILE语句和LOAD_FILE()函数。这些操作需要file权限。

3)如果 secure-file-priv这个参数设为一个目录名,MYSQL服务只允许这个目录中执行文件的导入和导出操作。

这个目录必须存在,MYSQL服务不会创建它。

4) 如果secure-file-priv这个参数为NULL,MYSQL服务会禁止导入和导出操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值