现在使用传统的方式来将一个 DB 同步到另一个新的 DB 中,
导出:mysqldump, 导入:mysql source <sql_file>
由于 DB 比较大( 30GB ),无论导出,还是导入,都相当慢。
有没有其他更好的方式来做这个工作?
不同的云平台的 RDS,MySQL 5.7
1 airfling 2019-10-18 14:37:58 +08:00 物理 copy 到移动硬盘,然后转移到新的机器上 |
2 airfling 2019-10-18 14:38:27 +08:00 30g 你只能找服务商了 |
3 rykinia 2019-10-18 14:49:29 +08:00 30g 而已,dump 下来压缩下,用一晚拖下来,再用一晚传到新服务器上 |
![]() | 4 ADME 2019-10-18 14:57:17 +08:00 用工具直接同步过去呗,不过 30g 不知道能不能行 |
![]() | 5 ys521 2019-10-18 14:59:50 +08:00 我都是物理操作 捂脸 |
![]() | 6 xmlf 2019-10-18 15:01:42 +08:00 via Android 同问,楼主是问快速同步:: |
7 PainSwim 2019-10-18 15:04:27 +08:00 我司是使用 Kettle 工具的。方便,效率还行,同步差不多有每秒 1000 条数据。 |
![]() | 8 yzongyue 2019-10-18 15:12:56 +08:00 用云平台提供的数据迁移工具? 不知道速度如何 |
![]() | 9 clearCode0915 2019-10-18 15:14:55 +08:00 不知道 Percona Toolkit 能不能满足你的需求 |
10 Myth666 2019-10-18 15:15:52 +08:00 rsync 把这个文件夹同步到 新的机器上去 |
11 zealinux OP @PainSwim 你 Kettle 是不是可以能跑在无 GUI 的 server 上, 如果启动 Kettle 在本地开发机器上的话,估计会更慢的吧。 --- 我 Mac 上还没有启动成功过 Kettle 这个传说过的 ETL 工具。 |
12 reddean666 2019-10-18 15:20:22 +08:00 写程序导? 按时间或 id 将数据分割成小块,再分治? |
![]() | 14 dcsite 2019-10-18 15:56:23 +08:00 阿里云 RDS 数据迁移,全自动,省心 |
![]() | 15 neko77 2019-10-18 15:59:31 +08:00 阿里云 dts 服务 或者 datax 自己撸配置文件 |
![]() | 16 ackermanHu 2019-10-18 17:32:55 +08:00 datax |
![]() | 17 CivAx 2019-10-18 19:57:13 +08:00 * 先用 innobackupex 全量打包 * 然后再用 innobackupex 全量恢复 我们 71 GB 的数据,打包后约 12 GB。下载备份 6 分钟,解包 10 分钟,回拷 16 分钟,半小时左右数据库恢复完。 如果你是阿里云的 RDS,那就直接下载备份包。 如果不是的话,那就先下载到 RDS 所在的云服务商的内网的服务器,然后再用 lz4 配 tar 光速拉下来,带宽直接跑满。 |
18 mattx 2019-10-22 10:21:10 +08:00 如果 mysql 版本相同的话,可以用 xtrabackup 进行物理备份 |