MySQL导入大量数据

背景:希望将某个txt文件中的数据全部导入MySQL中某个已经被建好的数据库中。

本文记录了可能会遇见的多种问题,给出了作者本人的解决方案。

未选择数据库

直接输入这句命令(下文简称导入数据命令):

LOAD DATA LOCAL INFILE 'txt文件名.txt' INTO TABLE TableName(你希望导入的数据库中的某个表的名称) LINES TERMINATED BY '\r\n';

可能会出现这个报错:

ERROR 1046 (3D000): No database selected

这就是没有选中数据库,只需要选中数据库即可

USE 数据库名;

未打开加载本地文件选项

如果这时候再次输入导入数据命令,可能会出现这句报错:

ERROR 3948 (42000): Loading local data is disabled; this must be enabled on both the client and server sides

这是因为你没有打开加载本地文件选项

输入

show variables like 'local_infile';

即可观察是否打开,下图为未打开状态

想要打开只需要输入这句命令

 set global local_infile='on';

再次观察是否打开

没有启用加载本地数据文件

再次输入导入数据命令,可能会出现这句报错

ERROR 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.

这次是因为没有启用加载本地数据文件的功能,需要打开Windows命令行(Win+R+cmd)输入这行命令

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

这个命令的含义是要使用用户名 "root" 连接到 MySQL 服务器,并且启用客户端加载本地数据文件的功能。(相当于重启MySQL)

未添加环境变量

但是这时候可能还会出现另一个报错

这可能代表着系统无法找到MySQL客户端程序,也就是说又可能MySQL客户端的路径没有被正确添加到系统的环境变量中。

解决方法当然就是手动把路径添加到环境变量里

(本人为Win11系统)

1.在Windows下面的搜索栏搜索“查看系统高级设置”,打开,会出现这个界面。点击被红框款选的“环境变量”,进入下一个界面。

2.按照序号标注的顺序,找到Path,点击编辑,进入下一个界面

3.按照序号点击新增MySQL的环境变量

其中MySQL的环境变量在安装路径的bin,我的是C:/Program Files/MySQL/MySQL Server 8.0/bin

4.新建好之后点三次确定,退出刚刚打开的页面

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

成功导入

重启命令行页面,再次输入,重新登陆MySQL

此时已经启用加载本地数据文件,输入导入数据命令

大功告成,数据导入成功。

希望能对大家有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值