MySQL数据库百万数据量导入爬坑

举报
多米诺的古牌 发表于 2022/01/18 20:54:14 2022/01/18
【摘要】 1.使用工具Navicat Preminu 12导入百万数据级别的数据到MySQL数据库1.1 通过excel导入首先进入Navicat Preminu 12后选择要导入的表,右键会有导入向导这一项,选择导入向导,再选择需要导入的类型,然后加载要导入的文件,配置对应字段名称、导入的范围、时间格式、插入的策略(追加、更新、追加和更新、删除、复制)等等,最后点击开始就可以愉快的开始导入了。当全部...

1.使用工具Navicat Preminu 12导入百万数据级别的数据到MySQL数据库

1.1 通过excel导入

首先进入Navicat Preminu 12后选择要导入的表,右键会有导入向导这一项,选择导入向导,再选择需要导入的类型,然后加载要导入的文件,配置对应字段名称、导入的范围、时间格式、插入的策略(追加、更新、追加和更新、删除、复制)等等,最后点击开始就可以愉快的开始导入了。当全部成功后会返回Processed总的条目数,Added新增的条目数,Updated更新的条目数,Deleted删除的条目数,以及Errors错误的条目数。如果有不成功的条目会在上面出现该条目的信息(当然希望大家一次都全部成功了,Finished successfully!)

2.导入过程遇到的坑

2.1 自动生成uuid

参考

通过下面的公式可以在excel中生成uuid,但是生成的uuid会出现很多的#NUM!,这个情况还有待研究,不知道是公式的问题还是,因为excel的格式问题,反正在使用的这个公式生成uuid的时候一定要注意这一点,当大批量生成uuid,需要检查一下有没有#NUM!这种没有生成成功的情况,然后将这些没有成功的uuid人工处理一下,都是泪啊。。。处理办法可以将值复制,然后粘贴成数值,将#NUM!全部替换为先的公式,如此反复只到查不出#NUM!这个为止。。。

=LOWER(CONCATENATE(DEC2HEX(RANDBETWEEN(0,POWER(16,8)),8),"",DEC2HEX(RANDBETWEEN(0,POWER(16,4)),4),"","4",DEC2HEX(RANDBETWEEN(0,POWER(16,3)),3),"",DEC2HEX(RANDBETWEEN(8,11)),DEC2HEX(RANDBETWEEN(0,POWER(16,3)),3),"",DEC2HEX(RANDBETWEEN(0,POWER(16,8)),8),DEC2HEX(RANDBETWEEN(0,POWER(16,4)),4)))

2.2 磁盘已满

但导入的过程中出现了磁盘满了。。。满了。。。这时候发现部署的mysql给的磁盘空间已经没有了。。。坑啊。。。只能挪个地方了,那么开始挪mysql。。。

2.2.1 首先是一波查询的指令:

  • df -hl:查看磁盘剩余空间
  • df -h:查看每个根路径的分区大小
  • du -sh [目录名]:返回该目录的大小
  • du -sm [文件夹]:返回该文件夹总M数
  • du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)

2.2.2 将mysql整个文件夹通过cp指令,拷贝到需要拷贝的地方,并且赋对应的权限

查询权限的指令是:ls -l

赋权限的指令的是:chmod -R 777 文件名称(此为最大权限啥权限都有。。。)

2.2.3 修改my.conf配置文件将文件中的datadir的路径、log-error的路径、pid-file的路径修改为现在拷贝好的地方

2.2.4 这里要注意如果挪的地方赋权限给了外面一层文件夹,有可能里面的mysql文件夹没有被赋上权限,所以还需要再对挪来的mysql文件夹再赋一次权限

2.2.5 重启mysql,使用 service 启动指令是 :service mysqld restart

2.2.6 如果在挪的时候你在使用数据库工具,一定记得在重启挪好的mysql服务之后,重启一下数据库工具,重启解百毒。。。多么痛的领悟。。。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。