
摘要: 本地 MySQL 迁移上云有两条路:数据量小用 mysqldump 导出再导入云数据库 MySQL;数据量大或要不停机,用数据传输服务 DTS 做全量加增量同步。本文讲清两种方式的步骤、适用场景和迁移后的校验,帮你把本地数据平稳搬到腾讯云云数据库 MySQL。
MySQL 迁移上云,选对方法比埋头操作更重要。小库、能接受短暂停机,用 mysqldump 导出导入最简单;大库、要求业务不中断,就得用数据传输服务 DTS 做在线迁移。选错方法,小库用复杂工具是杀鸡用牛刀,大库用导出导入则可能停机太久。这篇把两条路讲清楚,帮你对号入座。
迁移方式的选择,看两个因素:数据量和能否停机。
迁移方式 | 适用场景 | 是否需停机 |
|---|---|---|
mysqldump 导出导入 | 数据量小(几 GB 内)、能接受短暂停机 | 需要(导出期间停写) |
数据传输服务 DTS | 数据量大、要求不停机或少停机 | 几乎不停机 |
个人小网站、测试库,mysqldump 够用;生产业务、大库、不能中断,用 DTS。下面分别讲。
适合小库,三步走。
第一步,导出本地数据。用 mysqldump 把本地数据库导出成 SQL 文件:
mysqldump -h localhost -u root -p --databases 你的库名 > backup.sql数据量大的话加 --single-transaction 保证一致性、--set-gtid-purged=OFF 避免 GTID 问题(按版本)。
第二步,把 SQL 文件传到能连云数据库的机器。比如传到同地域的云服务器上,走内网导入更快。
第三步,导入云数据库 MySQL:
mysql -h <云数据库内网地址> -u <账号> -P 3306 -p 你的库名 < backup.sql导入完成即迁移完成。注意导入期间,为保证数据一致,本地库建议停止写入。
适合大库和不能停机的生产业务。DTS 的核心能力是全量 + 增量同步:先把存量数据全量搬过去,同时持续同步迁移期间产生的新数据,等数据追平后再切换,实现几乎不停机迁移。
DTS 的大致流程:
DTS 的价值就是让迁移期间业务基本不受影响,适合「数据库在线、不能停」的场景。
无论哪种方式,迁移前都要做好这几件事:
迁移完成别急着切流量,先校验数据对不对:
校验通过,再正式把生产应用的数据库地址切到云数据库 MySQL。切换时把应用配置里的 host 改成云数据库内网地址即可。
迁移上云后,把云数据库的能力用起来:
想了解云数据库 MySQL 的 DTS 迁移、备份、高可用能力,可前往产品介绍页了解:https://cloud.tencent.com/product/cdb ;当前有年购特惠,可在腾讯云双十一活动页查看:https://cloud.tencent.com/act/pro/double11-202611
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。