就地升级

本页面介绍了如何对 Cloud SQL 实例执行就地升级和降级。

对 Cloud SQL 实例进行就地更改

您可以使用就地更改来升级或降级 Cloud SQL 实例的版本、机器类型、存储类型或数据库版本。 进行就地更改是重新配置实例的最简单且最不容易出错的方式。

准备工作

确保您的实例运行的是 MySQL 8.0.31 版或更高版本。

如果您的实例使用的是早期版本的 MySQL,则必须升级到 MySQL 8.0.31 或更高版本。如需了解详情,请参阅 就地升级数据库主要版本升级数据库次要版本

不同版本支持使用不同存储选项的不同机器类型。高性能 C4 和 C4A 机器类型使用 Hyperdisk Balanced 存储 ,而不是旧机器类型使用的 永久性磁盘 选项之一。

当您更改所使用的版本或机器类型时,存储类型也可能会发生变化,这可能会导致一些停机时间和存储费用变化。迁移到 Google Cloud Hyperdisk Balanced 时,您可以指定其他配置选项。如需了解详情,请参阅 存储更改

了解 PITR 事务日志存储更改

如果您要升级的 Cloud SQL 企业版实例将用于 PITR 的二进制日志存储在磁盘上,请注意,升级到 Cloud SQL 企业 Plus 版的过程会将这些日志的存储位置从磁盘移到 Cloud Storage。如需确定实例的 PITR 二进制日志的当前位置,请参阅 检查用于 PITR 的事务日志的存储位置

如需全面了解就地升级如何影响 二进制日志的位置,请参阅 PITR 二进制日志的存储位置更改

就地更改实例的版本

本部分介绍了如何就地将 Cloud SQL 实例的版本更改为 Cloud SQL 企业 Plus 版或从 Cloud SQL 企业 Plus 版更改为其他版本。Cloud SQL 企业 Plus 版提供了一些 Cloud SQL 企业版不具备的优势和性能增强功能。如需详细了解 Cloud SQL 版本,请参阅 Cloud SQL 版本概览

升级到 Cloud SQL 企业 Plus 版需要几分钟才能完成 ,停机时间接近于零。 切换回 Cloud SQL 企业版会导致停机时间更长。 这两个过程都不需要更改应用所连接的端点。

按照本部分中的过程将 Cloud SQL 企业版实例升级到 Cloud SQL 企业 Plus 版,或将 Cloud SQL 企业 Plus 版实例降级到 Cloud SQL 企业版。

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 点击修改
  4. 选择 Cloud SQL 版本 部分中,如果您的实例使用的是 Cloud SQL 企业版,请点击 升级 ;如果您的实例使用的是 Cloud SQL 企业 Plus 版,请点击 切换到企业版
  5. 使用打开的面板,指定使用新版本的实例的配置 。请参阅 [进行就地更改时的选项](#change-options)。
  6. 输入实例 ID 以确认这些选择,然后点击 升级版本切换版本 ,具体取决于您是 升级还是降级。

如果您在实例的操作 列中选择修改 ,也可以在实例 页面中开始版本更改。

此外,如果您的实例使用的是 Cloud SQL 企业版,您可以在实例页面的 配置 部分中,点击版本字段旁边的 升级 链接来开始升级。

gcloud

以下 [`gcloud sql instance patch`](/sdk/gcloud/reference/sql/instances/patch) 代码示例演示了如何将实例升级到 Cloud SQL 企业 Plus 版:

gcloud sql instances patch INSTANCE_ID \
  --edition=enterprise-plus \
  --tier=MACHINE_TYPE \
  --project=PROJECT_ID

替换以下内容:

REST

以下命令会将您的实例升级到 Cloud SQL 企业 Plus 版并触发 重启操作。

在使用任何请求数据之前, 请先进行以下替换:

  • PROJECT_ID:要升级的实例的项目 ID。
  • INSTANCE_ID:要升级的实例的 ID。
  • MACHINE_TYPE:要升级到的实例机器类型。如需详细了解 Cloud SQL 企业 Plus 版的机器类型,请参阅 Cloud SQL 企业 Plus 版实例的机器类型

HTTP 方法和网址:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

请求 JSON 正文:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE_PLUS",
      "dataCacheConfig": {
        "dataCacheEnabled": true
      },
  }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

以下命令会将您的实例升级到 Cloud SQL 企业 Plus 版并触发 重启操作。

在使用任何请求数据之前, 请先进行以下替换:

  • PROJECT_ID:要升级的实例的项目 ID。
  • INSTANCE_ID:要升级的实例的 ID。
  • MACHINE_TYPE:要升级到的实例机器类型。如需详细了解 Cloud SQL 企业 Plus 版的机器类型,请参阅 Cloud SQL 企业 Plus 版实例的机器类型

HTTP 方法和网址:

PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

请求 JSON 正文:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE_PLUS",
      "dataCacheConfig": {
        "dataCacheEnabled": true
      },
  }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

就地更改的选项

更改 Cloud SQL 实例的版本可能需要更改其机器系列,这反过来会影响其存储类型。

机器更改

更改版本时,您还必须更改机器类型。如需详细了解 Cloud SQL 支持的机器系列,请参阅 选择机器系列

从 Cloud SQL 企业版升级到 Cloud SQL 企业 Plus 版时,您可以在 N2C4AC4机器系列之间进行选择。

从 Cloud SQL 企业 Plus 版降级到 Cloud SQL 企业版时,您可以在 通用型专用核心N4 机器系列之间进行选择。

您还可以在不更改版本的情况下更改机器类型。选择修改实例后,前往自定义实例 区域中的机器配置机器 子部分。 使用下拉菜单,您可以选择其他机器类型。您还可以 选择其他数量的 vCPU,并根据需要启用或停用 数据缓存

如需了解更多一般信息,另请参阅 N2C4AC4N4机器系列的 Compute Engine 文档

存储更改

如果您要从通用型或 N2 机器系列更改为 N4, C4A 或 C4 机器系列,您的存储将从 固态硬盘 (SSD) 迁移到 Google Cloud Hyperdisk Balanced 存储。此升级通常只需要极少的停机时间。

您可以设置以下内容,根据您的使用场景自定义 Google Cloud Hyperdisk Balanced 存储:

  • 存储空间容量
  • 预配的 IOPS
  • 预配的吞吐量

Google Cloud Hyperdisk Balanced 会根据您的实例配置(包括机器类型和存储空间容量)设置默认的 IOPS 和吞吐量值及限制。存储空间容量会限制默认值,而机器类型则设定了 IOPS 和吞吐量值的上限。如需了解详情,请参阅 选择存储方案

PITR 二进制日志的位置更改

如果您的 Cloud SQL 企业版实例将 PITR 的事务日志存储在磁盘上,则开始升级到 Cloud SQL 企业 Plus 版的过程会将这些日志的存储位置切换为 Cloud Storage。

位置更改适用以下条件:

  • 该过程大约需要 transactionLogRetentionDays PITR 配置设置的时长,才能完成切换为 Cloud Storage。
  • 如果您在实例上为 expire_logs_daysbinlog_expire_logs_seconds 标志设置了值,则这些值将保留。
  • 在切换到 Cloud Storage 期间,您无法修改实例上 expire_logs_daysbinlog_expire_logs_seconds 标志的值。
  • 在切换到 Cloud Storage 期间,我们建议您不要修改 transactionLogRetentionDays PITR 配置设置。即使您增加 transactionLogRetentionDays,二进制日志在磁盘上保留的时间也不会超过 Cloud SQL 企业版实例的 7 天默认值。
  • 在切换过程中,Cloud SQL 仅按照以下最小值之一在磁盘上保留日志:
    • 切换前的 transactionLogRetentionDays PITR 配置设置,默认为 7 天。
    • 在实例上手动设置的 expire_logs_daysbinlog_expire_logs_seconds 标志。
  • 切换后,Cloud SQL 会在磁盘上保留与切换之前相同数量的二进制日志,除非您已在实例上设置 expire_logs_daysbinlog_expire_logs_seconds 标志。 如果您已设置这些标志,则 Cloud SQL 会根据 transactionLogRetentionDays 配置设置的最小值或这些标志的值,在磁盘上保留二进制日志。

Cloud SQL 企业 Plus 版备份和日志存储默认设置

实例完成切换到 Cloud Storage 后,Cloud SQL 仍会在磁盘上保留二进制日志的副本,以便复制。如果要使用 mysqlbinlog 实用程序浏览二进制日志,将二进制日志存储在磁盘上会非常有用。

如果您在升级之前在实例上配置了 expire_logs_daysbinlog_expire_logs_seconds 标志,则配置的值将保持不变。

切换后,由于用于执行 PITR 的二进制日志现在存储在 Cloud Storage 中,因此请确保标志的值反映了您预期的磁盘上事务日志的保留情况。Cloud SQL 仅按照以下最小值之一在磁盘上保留日志:

  • 切换前的 transactionLogRetentionDays PITR 配置设置,默认为 7 天
  • 在实例上手动设置的 expire_logs_daysbinlog_expire_logs_seconds 标志

如果要节省磁盘可用空间,则在升级完成后,将 expire_logs_daysbinlog_expire_logs_seconds 标志的值配置为等效于 1 天的值,以便您可以减小分配的磁盘大小和磁盘存储费用。如需详细了解事务日志存储和 PITR,请参阅 PITR 的日志存储

升级到 Cloud SQL 企业 Plus 版后,所有升级后的实例的默认事务日志保留期限都会增加到 14 天。对于此增加情况以及您为事务日志保留期限配置的任何其他增加值,需要达到增加后的新值才能达到 PITR 的完整保留窗口。例如,如果事务日志保留天数的旧值为 7,并且新值增加到 14,则升级后前 7 天的 PITR 窗口只有 7 天。在第 8 天,PITR 窗口变为 8 天,第 9 天变为 9 天,直到第 14 天保留期限最终增加到 14 天。

此外,默认的自动备份数量从 8 个增加到 15 个。

如果您在执行主要版本升级后升级到 Cloud SQL 企业 Plus 版,则无法对主要版本升级之前发生的时间点执行 PITR。即使您的保留期限涵盖该时间段,此限制也适用。 您可以将实例恢复到开始主要版本升级后的某个时间点。