本页面介绍如何使用就地升级方法将 Cloud SQL 企业版实例升级到 Cloud SQL 企业 Plus 版。此外,还介绍了将 Cloud SQL 企业 Plus 版实例切换到 Cloud SQL 企业版的过程。
升级到 Cloud SQL 企业 Plus 版可为您带来多项优势和增强的性能。如需了解详情,请参阅 Cloud SQL for MySQL 版本简介。
如需为现有 Cloud SQL 企业版实例启用这些增强功能,您必须将其升级到 Cloud SQL 企业 Plus 版。升级过程需要几分钟才能完成,且停机时间接近于零。切换到 Cloud SQL 企业版最多可能需要 60 秒的停机时间。
此外,此升级过程不需要您更改应用连接到的端点。
准备工作
确保您在 MySQL 8.0.31 版或更高版本上运行 Cloud SQL 企业版实例。
如果您的实例使用的是早期版本的 MySQL,则必须将实例升级到 MySQL 8.0.31 或更高版本。如需了解详情,请参阅就地升级数据库主要版本和升级数据库次要版本。
检查用于 PITR 的事务日志的存储位置
所有 Cloud SQL 企业 Plus 版实例都会自动启用时间点恢复 (PITR)。如果要升级的 Cloud SQL 企业版实例将用于 PITR 的二进制日志存储在磁盘上,则升级到 Cloud SQL 企业 Plus 版的过程会将二进制日志的存储位置从磁盘切换为 Cloud Storage。
在升级到 Cloud SQL 企业 Plus 版之前,请检查 Cloud SQL 企业版实例是否将进行用于 PITR 的二进制日志的存储位置切换。如需详细了解如何检查实例以及说明,请参阅检查用于 PITR 的事务日志的存储位置。
如需详细了解如何在升级过程中切换事务日志存储位置,请参阅用于 PITR 的事务日志的存储位置。
将实例升级到 Cloud SQL 企业 Plus 版
按照本部分中的过程将 Cloud SQL 企业版实例升级到 Cloud SQL 企业 Plus 版。
控制台
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 如需打开实例的概览页面,请点击实例名称。
- 点击修改。
- 在选择 Cloud SQL 版本部分中,点击升级。
- 在升级到企业 Plus 版面板中,输入您的实例 ID,然后点击升级版本。
或者,您也可以通过点击实例概览页面的配置部分中的升级来升级实例。
gcloud
以下代码示例演示了如何将实例升级到 Cloud SQL 企业 Plus 版:
gcloud sql instances patch INSTANCE_ID \ --edition=enterprise-plus \ --tier=MACHINE_TYPE \ --project=PROJECT_ID
替换以下内容:
- PROJECT_ID:要升级的实例的项目 ID。
- INSTANCE_ID:要升级的实例的名称。
- MACHINE_TYPE:要升级到的实例机器类型。如需详细了解 Cloud SQL 企业 Plus 版的机器类型,请参阅 Cloud SQL 企业 Plus 版实例的机器类型。
REST
以下命令会将您的实例升级到 Cloud SQL 企业版并触发重启操作。
在使用任何请求数据之前,请先进行以下替换:
- 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 企业版并触发重启操作。
在使用任何请求数据之前,请先进行以下替换:
- 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" }
用于 PITR 的事务日志的存储位置
如果您的 Cloud SQL 企业版实例将 PITR 的事务日志存储在磁盘上,则开始升级到 Cloud SQL 企业 Plus 版的过程会将这些日志的存储位置切换为 Cloud Storage。
以下情况适用于位置切换过程:
- 该过程大约需要
transactionLogRetentionDays
PITR 配置设置的时长,才能完成切换为 Cloud Storage。 - 如果您为实例上的
expire_logs_days
或binlog_expire_logs_seconds
标志设置了值,则这些值将保留。 - 在切换到 Cloud Storage 期间,您无法修改实例上
expire_logs_days
或binlog_expire_logs_seconds
标志的值。 - 在切换到 Cloud Storage 期间,我们建议您不要修改
transactionLogRetentionDays
PITR 配置设置。即使您增加transactionLogRetentionDays
,二进制日志在磁盘上保留的时间也不会超过 Cloud SQL 企业版实例的 7 天默认值。 - 在切换过程中,Cloud SQL 仅按照以下最小值之一在磁盘上保留日志:
- 切换前的
transactionLogRetentionDays
PITR 配置设置,默认为 7 天 - 在实例上手动设置的
expire_logs_days
或binlog_expire_logs_seconds
标志
- 切换前的
- 切换后,Cloud SQL 会在磁盘上保留与切换之前相同数量的二进制日志,除非您已在实例上设置
expire_logs_days
或binlog_expire_logs_seconds
标志。如果您已设置这些标志,则 Cloud SQL 会根据transactionLogRetentionDays
配置设置的最小值或这些标志的值,在磁盘上保留二进制日志。
Cloud SQL 企业 Plus 版备份和日志存储默认设置
实例完成切换到 Cloud Storage 后,Cloud SQL 仍会在磁盘上保留二进制日志的副本,以便复制。如果要使用mysqlbinlog
实用程序浏览二进制日志,将二进制日志存储在磁盘上会非常有用。
如果您在升级之前在实例上配置了 expire_logs_days
和 binlog_expire_logs_seconds
标志,则配置的值将保持不变。
切换后,由于用于执行 PITR 的二进制日志现在存储在 Cloud Storage 中,因此请确保标志的值反映了您预期的磁盘上事务日志的保留情况。Cloud SQL 仅按照以下最小值之一在磁盘上保留日志:
- 切换前的
transactionLogRetentionDays
PITR 配置设置(默认为 7 天) - 在实例上手动设置的
expire_logs_days
或binlog_expire_logs_seconds
标志
如果要节省磁盘可用空间,则在升级完成后,将 expire_logs_days
或 binlog_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。即使您的保留期限涵盖该时间段,此限制也适用。您可以将实例恢复到开始主要版本升级后的某个时间点。
更改为 Cloud SQL 企业版
控制台
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 如需打开实例的概览页面,请点击实例名称。
- 点击修改。
- 在选择 Cloud SQL 版本部分中,点击切换到企业版。
- 在切换到企业版面板中,输入您的实例 ID,然后点击切换版本。
或者,您也可以通过点击实例概览页面的配置部分中的更改为企业版来切换到 Cloud SQL 企业版。
gcloud
以下代码示例显示如何将实例更改为 Cloud SQL 企业版:
gcloud sql instances patch INSTANCE_ID \ --edition=enterprise \ --tier=MACHINE_TYPE \ --project=PROJECT_ID
- PROJECT_ID:实例的项目 ID。
- INSTANCE_ID:实例的名称。
- MACHINE_TYPE:要切换到的实例机器类型。如需详细了解 Cloud SQL 企业版的机器类型,请参阅 Cloud SQL 企业版实例的机器类型。
REST
以下命令会将您的实例更改为 Cloud SQL 企业版并触发重启操作。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:实例的项目 ID。
- INSTANCE_ID:实例的 ID。
- MACHINE_TYPE:要切换到的实例机器类型。如需详细了解 Cloud SQL 企业版的机器类型,请参阅 Cloud SQL 企业版实例的机器类型。
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
请求 JSON 正文:
{ "settings": { "tier": "MACHINE_TYPE", "edition": "ENTERPRISE" } }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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 企业版并触发重启操作。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:实例的项目 ID。
- INSTANCE_ID:实例的 ID。
- MACHINE_TYPE:要切换到的实例机器类型。如需详细了解 Cloud SQL 企业版的机器类型,请参阅 Cloud SQL 企业版实例的机器类型。
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
请求 JSON 正文:
{ "settings": { "tier": "MACHINE_TYPE", "edition": "ENTERPRISE" } }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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 企业版并不会切换用于 PITR 的事务日志的存储位置。如果您的 Cloud SQL 企业 Plus 版实例将其 PITR 事务日志存储在 Cloud Storage 中,则日志会保留在 Cloud Storage 中。但是,默认情况下,系统会为 PITR 存储 14 天的事务日志,而是将默认值更改为 7 天。备份配置不会更改。
后续步骤
- 详细了解 Cloud SQL 企业 Plus 版。