热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

关于MySQL千万级数据导入

废话不多说。步骤1.连接mysql2.选择数据库并use进入3.使用loaddatalocalinfile主要命令loaddatalocalinfilef:\ssgii\\usef

废话不多说。

步骤

1.连接mysql

2.选择数据库并use进入

3.使用load data local infile


主要命令

load data local infile 'f:\ssgii\\useful\\sggg\\sggg.csv'
into table `sxxxg` character set utf8
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\r\n';

命令解释

load data local infile 'f:\ssgii\\useful\\sggg\\sggg.csv'

加载本地文件

into table sxxxg character set utf8

选择表 设置字符集(重要,有可能乱码,就会报错)

fields terminated by ','

以什么字符作为分隔符

optionally enclosed by '"'

字段闭合标签

escaped by '"'

转义字符

lines terminated by '\r\n';

每条记录的分隔符


注意事项

1.路径不要有中文字符

2.要提前在数据库里面建表


可能遇到的报错问题

问题1

--secure-file-pri option so it cannot execute this

因为默认的安全配置问题,mysql默认不允许文件导入导出,通过命令

show variables like '%secure%';

可以看到 secure_file_priv=null。

然后我们找到my.ini文件,有的话将里面的secure_file_prive的路径注释掉,没有的话重新写一句secure_file_prive=" ",将路径设为空。

然后保存,在服务中重启mysql,cmd中进入mysql,

net stop MySQL80

net start MySQL80

再连接,

输入show variables like '%secure%';

如果secure_file_priv对应的为空就可以了。


问题2

Loading local data is disabled - this must be enabled on both the client and server sides

要设置全局系统变量'local_infile' 的状态。

先查看现在状态,show global variables like 'local_infile';

显示local_infile的Value=OFF,则说明是不可用的,要变为ON。

输入命令:set global local_infile=1;

再quit退出重新连接,

连接的时候用:mysql --local_infile=1 -h localhost -uusername -ppassword

再查看show global variables like 'local_infile';的变量是否为ON。


问题3

ERROR 1300 (HY000):Invalid utf8mb3 character string: ''

文件格式与数据库的字符格式不匹配。比如你数据库规定字符类型为UTF-8,但是你的txt文本的编码格式为GBK。

打开文件重新用指定编码utf-8保存即可。

如果还报错,

说明文件内有一些特殊字符,一般遇到这个都是因为字符中间多了“\”或者""转义字符。

对文件这些字符内容进行一下清理操作。


结果



结果还是不错的,我这8G内存的老电脑,6500W条数据只用了2.5h。

就是导入完成了竟然没有提示,等到第二天实在等不下去了才按ctrl+C结束然后才提示说Query OK......



推荐阅读
author-avatar
手机用户2602931437
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有