通过迁移数据升级数据库主要版本

本页面介绍了如何将数据迁移至运行较新版本的 MySQL 的实例。在继续此方法之前,请考虑就地升级数据库主要版本

您可以使用以下两种方式通过迁移数据来升级 Cloud SQL for MySQL 实例的数据库主要版本。

  • 选项 1。使用 Database Migration Service (DMS)。DMS 支持从 Cloud SQL MySQL 实例进行迁移。您还可以使用它升级 MySQL 版本。
  • 方法 2.如需将数据从 MySQL 的一个版本迁移到另一个版本,请通过从当前实例导出数据并将其导入一个运行 MySQL 更高版本的新实例。此过程需要关停实例;在开始导出数据之前,请将当前实例置于只读模式。

本页介绍了第二种方案。

规划主要版本升级

  1. 选择目标主要版本。

    请参阅 Cloud SQL 支持的版本列表

  2. 请考虑每个 MySQL 版本中提供的功能并解决不兼容问题。

    新的主要版本引入了不兼容的更改,您可能需要修改应用代码、架构或数据库设置,然后才能升级数据库实例。查看目标主要版本的版本说明,以确定您需要解决的不兼容问题。如果您要跳过主要版本,请解决为每个要跳过的版本列出的不兼容性问题。

  3. 如果您要从 MySQL 5.7 升级到 8.0,请检查 MySQL 8.0 中的用户授权更改。

    Cloud SQL for MySQL 8.0 版使用一个名为 partial_revokes 的新系统标志,默认设置为 ON。与 MySQL 5.7 不同,此标志会移除在数据库 GRANT 命令中使用通配符的功能。如需确保数据库用户有权访问正确的数据库架构,请在升级到 MySQL 8.0 之前先修改数据库用户权限。更新用户权限,以使用所需数据库架构的完整名称,而不是使用通配符。

    如需详细了解此标志在 MySQL 8.0 中的工作原理,请参阅 MySQL 8.0 中的 partial_revokes

  4. 通过试运行测试升级。

    在升级生产数据库之前,请使用测试实例执行端到端升级流程的试运行。建议使用克隆(而非生产数据库)测试升级,以免导出对生产工作负载造成任何性能影响。

    除了验证升级是否成功完成之外,运行测试还可以确保应用在升级后的数据库上按预期运行。如果您尚未启用存储空间自动扩容功能,请记下升级后的试运行实例使用的磁盘存储空间,以确定升级前是否需要增加生产实例的存储空间容量。

  5. 确定何时升级。

迁移数据

要将数据迁移到运行较新数据库版本的 Cloud SQL 实例,请按照以下步骤操作:

  1. 使用目标数据库主要版本创建实例。

    确保目标实例符合以下条件:

    • 存储空间足以容纳当前实例的所有数据。
    • 拥有与当前实例相同的已获授权的网络。了解详情
    • 拥有相同用户账号以及相同的 MySQL 权限和密码。

    如需了解详情,请参阅创建实例

  2. 确认您可以使用本地 MySQL 工具连接到新实例,并在必要情况下进行更新。

  3. 通过将 read_only 数据库标志设置为 On,将当前的 Cloud SQL 实例置于只读模式。

    如需了解相关信息,请参阅配置数据库标志

  4. 按照导出数据以导入到 Cloud SQL 中的说明,将当前实例的数据导出到 SQL 转储文件。

    不要导出 mysql 系统数据库。

  5. 根据需要创建 Cloud Storage 存储桶,并将您的 SQL 转储文件上传到存储桶。

  6. 按照从 Cloud Storage 导入 MySQL 数据库中的说明,将数据导入目标实例。

  7. 可选。完成升级过程后,使用外部服务器在源实例和目标实例之间设置复制,以使用自上次转储作业以来发生的所有更改来更新目标。两个实例同步后,您可以提升目标实例。

    如需了解如何使用外部服务器实现持续复制,请参阅从外部服务器复制

  8. 更新您的应用以连接到新实例。

  9. 如果您确定新实例已成功运行,请删除旧实例。

后续步骤