我们非常高兴地宣布,PlanetScale现在支持从您现有的MySQL数据库进行零停机时间的数据迁移。我们充分利用了Vitess的强大功能,允许您连接您的数据库到PlanetScale,将PlanetScale作为一个副本进行测试,然后完全切换到PlanetScale。没错,您无需导出数据,也无需从备份中恢复。您只需提供一个连接信息,剩下的工作交给我们处理即可。

当您将现有的MySQL数据库连接到PlanetScale时,您可以立即体验到PlanetScale平台的强大功能,包括:

  • 安全的密码管理:支持成千上万的并发连接
  • 查询洞察:找出并优化慢查询
  • Web控制台:直接通过PlanetScale的Web UI查询您的数据库

PlanetScale的数据导入功能基于Vitess的未经托管的Tablet技术。本文将详细介绍如何将您的现有MySQL数据库导入到PlanetScale。


将PlanetScale连接到您的现有MySQL数据库服务器

让PlanetScale知道如何连接到您的MySQL服务器以及您希望导入的具体数据库。您需要提供一个具有读写权限的用户的凭据,并确保打开了二进制日志(Binary Logs)。

将数据迁移至PlanetScale插图

我们会通知您任何可能影响使用PlanetScale的模式不兼容问题或连接错误:

将数据迁移至PlanetScale插图1

访问我们的文档,了解如何解决这些兼容性问题,然后再次尝试导入您的数据库。


从您的数据库向PlanetScale进行初始数据复制

如果没有问题,您可以开始导入数据。第一步是从您的数据库进行在线初始数据复制。

将数据迁移至PlanetScale插图2

在这一阶段,PlanetScale会自动连接到您的数据库,并开始将目标数据库中的架构(schema)和数据分块复制到PlanetScale。

当此步骤完成后,您将拥有一个最新的、安全存储的数据副本,准备查询使用。


将变更从您的数据库同步到PlanetScale

初始数据复制完成后,我们会通过二进制日志文件(Binary Log File)复制的方式保持PlanetScale数据库与您的数据库同步。您对数据库进行的任何更改,包括插入、删除和更新,都会在PlanetScale上被重放。


将您的应用连接到PlanetScale的数据库副本

当您完成上述阶段后,可以将您的应用配置为指向PlanetScale作为数据库。

这能够实现是因为您的新PlanetScale数据库同时作为“数据路由器(Data Router)”工作。查询将由PlanetScale提供,而写操作会透明地路由至您的现有数据库,同时利用Vitess的强大路由规则将这些写操作回放至PlanetScale。

通过这种方式让应用的读写操作经过PlanetScale,可以安全地验证您的应用完全兼容PlanetScale,无需停机,也避免了像双写(Dual Writes)这样脆弱的应用级迁移机制。


切换到PlanetScale作为主数据库

当您确保应用能够成功使用PlanetScale后,可以将其提升为主数据库(Primary Database),或取消数据导入。您只需点击数据导入横幅中的“启用主模式(Enable primary mode)”按钮即可。

将数据迁移至PlanetScale插图3

此操作将反转路由方向——读写操作将直接发送到PlanetScale,我们会将写操作和更新回放至您的原始数据库,以确保其保持同步。这种方式允许您安全地切换流量,而无需担心困难或不安全的迁移过程。


从您的数据库分离PlanetScale

当您完成迁移并准备永久使用PlanetScale,您可以将外部数据库从PlanetScale分离。点击“分离外部数据库(Detach external database)”按钮,并按照提示完成数据库断开连接操作。我们将删除PlanetScale上的所有连接信息,不再读取或写入您的外部数据库。

将数据迁移至PlanetScale插图4

到这一步,您已经完全迁移到了PlanetScale,您的数据库找到了新家!


试试吧!

尝试将您的现有MySQL数据库迁移至PlanetScale,并告诉我们如何改进相关功能。我们非常期待您的反馈以及帮助我们优化入门体验的任何建议。让我们一起更好地打磨这个平台!



将数据迁移至PlanetScale插图5

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:http://www.choupangxia.com/2025/05/20/planetscale/