MySQL 怎么快速全量同步到新的数据库中?

2019-10-18 14:33:23 +08:00
 zealinux

现在使用传统的方式来将一个 DB 同步到另一个新的 DB 中,

导出:mysqldump,
导入:mysql source <sql_file>

由于 DB 比较大( 30GB ),无论导出,还是导入,都相当慢。

有没有其他更好的方式来做这个工作?


不同的云平台的 RDS,MySQL 5.7

8200 次点击
所在节点    MySQL
18 条回复
airfling
2019-10-18 14:37:58 +08:00
物理 copy 到移动硬盘,然后转移到新的机器上
airfling
2019-10-18 14:38:27 +08:00
30g 你只能找服务商了
rykinia
2019-10-18 14:49:29 +08:00
30g 而已,dump 下来压缩下,用一晚拖下来,再用一晚传到新服务器上
ADME
2019-10-18 14:57:17 +08:00
用工具直接同步过去呗,不过 30g 不知道能不能行
ys521
2019-10-18 14:59:50 +08:00
我都是物理操作 捂脸
xmlf
2019-10-18 15:01:42 +08:00
同问,楼主是问快速同步::
PainSwim
2019-10-18 15:04:27 +08:00
我司是使用 Kettle 工具的。方便,效率还行,同步差不多有每秒 1000 条数据。
yzongyue
2019-10-18 15:12:56 +08:00
用云平台提供的数据迁移工具? 不知道速度如何
clearCode0915
2019-10-18 15:14:55 +08:00
不知道 Percona Toolkit 能不能满足你的需求
Myth666
2019-10-18 15:15:52 +08:00
rsync 把这个文件夹同步到 新的机器上去
zealinux
2019-10-18 15:19:43 +08:00
@PainSwim
你 Kettle 是不是可以能跑在无 GUI 的 server 上,
如果启动 Kettle 在本地开发机器上的话,估计会更慢的吧。

---
我 Mac 上还没有启动成功过 Kettle 这个传说过的 ETL 工具。
reddean666
2019-10-18 15:20:22 +08:00
写程序导? 按时间或 id 将数据分割成小块,再分治?
zealinux
2019-10-18 15:21:42 +08:00
@Myth666 云平台上 RDS 是不会让你访问到真正的文件夹的。
dcsite
2019-10-18 15:56:23 +08:00
阿里云 RDS 数据迁移,全自动,省心
neko77
2019-10-18 15:59:31 +08:00
阿里云 dts 服务 或者 datax 自己撸配置文件
ackermanHu
2019-10-18 17:32:55 +08:00
datax
CivAx
2019-10-18 19:57:13 +08:00
* 先用 innobackupex 全量打包

* 然后再用 innobackupex 全量恢复
我们 71 GB 的数据,打包后约 12 GB。下载备份 6 分钟,解包 10 分钟,回拷 16 分钟,半小时左右数据库恢复完。

如果你是阿里云的 RDS,那就直接下载备份包。

如果不是的话,那就先下载到 RDS 所在的云服务商的内网的服务器,然后再用 lz4 配 tar 光速拉下来,带宽直接跑满。
mattx
2019-10-22 10:21:10 +08:00
如果 mysql 版本相同的话,可以用 xtrabackup 进行物理备份

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

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

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

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

© 2021 V2EX