MySQL8.0-Load data报错

前提:win10系统,MySQL8.0.17(下载的zip包直接解压的,所以没有my.ini文件)

1.Load Data报错

首先在MySQL命令行下创建一个新表并通过load data命令将本地文件导入到新建的表中时,mysql提示如下错误:ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

然后查了一下--secure-file-priv的值:

当secure_file_priv的值null的时候,mysql是禁止导入导出数据的,这就是说这个load data这个命令是无法执行的。当secure_file_priv的值为空时(不是null)时,可以从任意文件地址导入导出;当secure_file_priv有其他值时,只能从改文件夹内导入或导出。这里我们把这个值设为空。注意,如果不更改这个参数值的话,即使使用navicat也无法导入数据。

由于secure_file_priv的属性是只读的,所以无法通过set 命令对其进行赋值,只能通过my.ini文件进行操作。

然后重启mysql服务。 然后执行load data语句发现出现了一个新的错误:ERROR 1148 (42000): The used command is not allowed with this MySQL version

出现这个错误主要是因为默认local_infile是关闭状态,可以通过下面的语句查看local_infile的状态:

可以通过set语句将其开启,之后就可以执行load data功能了。

如果这样操作之后依然报相同的错误,则退出当前的mysql,使用以下命令重新登录mysql.

mysql --local-infile=1 -u root -p

 2.MySQL找不到my.ini文件

由于我本地的MySQL安装的时候是直接下载的zip包,解压之后就好了。所以我本地装完之后是没有my.ini文件的。要增加my.ini文件需要重新安装一个mysql服务并配置my.ini文件,具体的操作流程可以参考:https://www.cnblogs.com/RayWang/p/9347874.html

需要补充的是在删除原有mysql服务的时候,上述文章中提供的方法在我的电脑上没有效果。可以试试以下两条语句:

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值