求助, mysql 怎么快速导入 10 个 G Sql 文件,大概有 4kw 数据

2019-08-22 21:23:41 +08:00
 piloots

因为 sql 的文件带索引,我尝试修改 mysql 的配置,然后用 source 导入速度很不理想,24 小时才导入了 1.8kw ,有大佬指下方向吗?

2665 次点击
所在节点    问与答
18 条回复
cuixiao603
2019-08-22 21:43:31 +08:00
也是困扰我的一个问题
piloots
2019-08-22 22:08:30 +08:00
@cuixiao603 http://note.youdao.com/noteshare?id=57e8cc049322e22db3fed23e4deac8e6 目前这样,不知道有没有更快的方法,现在 1s 大概 3k (不准确统计)
piloots
2019-08-22 22:10:10 +08:00
这样的速度,理想化也需要 3 个小时左右...
cubecube
2019-08-22 22:10:49 +08:00
下次别导出 sql 会快点
piloots
2019-08-22 22:12:38 +08:00
@cubecube 嗯,确实是这样
piloots
2019-08-22 22:14:40 +08:00
啥都不如直接复制 sql 的文件快
chinesestudio
2019-08-22 22:24:13 +08:00
物理机 ssd 集群 十几分钟就搞定了
piloots
2019-08-22 22:27:38 +08:00
@chinesestudio 单机,普通硬盘,理想状态下 4 个小时...后悔呀,复制 mysql 文件,不导出 sql 都会比这个效率高,没办法了
justgodlike1993
2019-08-22 22:31:03 +08:00
SET SQL_LOG_BIN =0 ;试试
mchl
2019-08-22 22:38:02 +08:00
mysql -u username -p < /path/to/dump.sql
msg7086
2019-08-23 06:08:42 +08:00
先问是不是 SSD。
当年很出名的一个事,有个公司没用 SSD,跑 MySQL 升级跑了 9 个月还是多少来着,还没跑完,成为笑柄。
gam2046
2019-08-23 09:38:03 +08:00
不确定有没有用,考虑一下先不建立索引,关闭事务,全部导入完成以后,再一次性建索引?
aaronchou0
2019-08-23 10:10:48 +08:00
我每周都要导 30G+ 8kw+行的数据,用时最多不超过 50 分钟。10G 4kw 的话最多也就 20 分钟。
sr0miao
2019-08-23 10:18:22 +08:00
不会这样吧,我到处 200 个 G 数据大概 5 个小时啊,企业级的机械硬盘
sr0miao
2019-08-23 10:22:50 +08:00
试试导出的时候带 -e --max_allowed_packet=xx --net_buffer_length==xx 参数,可以设大一点,不然就是硬盘的问题了
aaronchou0
2019-08-23 10:28:16 +08:00
@sr0miao 你导出跟我导入速度差不多了。我这个是个破虚拟机 4C8G
sr0miao
2019-08-23 10:32:18 +08:00
@aaronchou0 说错了,是导入。。
sr0miao
2019-08-23 10:35:10 +08:00
@aaronchou0 这个跟你虚拟机没关系啊,使用 sql 文件导入影响导入速度的主要因素 sql 文件构成和磁盘速度(决定因素)。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/594334

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX