本页介绍如何修改现有 Cloud SQL 实例。
创建实例后,您可以在实例运行时对其进行修改以更改其设置。如需了解实例设置以及更改此类设置对实例的影响,请参阅实例设置。
您可以将 Cloud SQL for SQL Server 与 Managed Service for Microsoft Active Directory (Managed Microsoft AD) 集成。此集成包括在实例级别加入和退出 Managed Microsoft AD 域的功能。如需了解详情,请参阅 Cloud SQL 中的 Managed Microsoft AD 概览。
您还可以启用或停用数据库审核。
修改实例
大多数修改都只能应用于运行中的实例。
控制台
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 如需打开实例的概览页面,请点击实例名称。
- 点击修改。
- 在自定义实例部分中,如果系统显示显示配置选项菜单,则点击该菜单。
更新实例的所有可编辑设置。
详细了解实例设置。
- 点击保存。
gcloud
此命令会修改备份开始时间。
gcloud sql instances patch INSTANCE_NAME \ --backup-start-time 16:00
如果补丁修改的值需要重启实例,系统将提示您继续进行更改或取消操作。
如需详细了解实例配置标志,请参阅 gcloud sql instances patch。
REST v1
您可以使用此命令修改备份开始时间。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:项目 ID
- INSTANCE_ID:实例 ID
- PRIVATE_NETWORK:您要添加或选择以创建专用连接的网络
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
请求 JSON 正文:
{ "settings": { "backupConfiguration": { "startTime": "16:00", "enabled": true, "binaryLogEnabled": true } } "ipConfiguration": { "privateNetwork": "PRIVATE_NETWORK", "authorizedNetworks": [], "ipv4Enabled": false, } }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 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 API 请求,请参阅 instances:patch 页面上的 API Explorer。REST v1beta4
您可以使用此命令修改备份开始时间。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:项目 ID
- INSTANCE_ID:实例 ID
- PRIVATE_NETWORK:您要添加或选择以创建专用连接的网络
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
请求 JSON 正文:
{ "settings": { "backupConfiguration": { "startTime": "16:00", "enabled": true, "binaryLogEnabled": true } } "ipConfiguration": { "privateNetwork": "PRIVATE_NETWORK", "authorizedNetworks": [], "ipv4Enabled": false, } }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
如果补丁程序修改的值需要重启实例,系统将提示您继续进行更改或取消操作。
如需了解如何为此任务构建底层 REST API 请求,请参阅 instances:patch 页面上的 API Explorer。编辑启用了 Private Service Connect 的实例
您可以使用 gcloud CLI 或 API 更新启用了 Private Service Connect 的实例。例如,您可以出于以下目的更新与实例关联的项目:
- 允许从 Private Service Connect 端点连接到 Cloud SQL 实例。
- 从允许的项目列表中移除项目。对于任何已移除的项目,与任何现有 Private Service Connect 端点的连接将继续有效,但不接受新端点。
gcloud
如需更新可以使用 Private Service Connect 的项目,请使用 gcloud sql instances patch
命令:
gcloud sql instances patch INSTANCE_NAME \ --project=PROJECT_ID \ --allowed-psc-projects=ALLOWED_PROJECTS
进行以下替换:
- INSTANCE_NAME:VPC 网络中的 Private Service Connect 端点可以连接到的 Cloud SQL 实例的名称。
- PROJECT_ID:Google Cloud 项目的 ID 或项目编号,该项目包含 VPC 网络中的 Private Service Connect 端点可以连接到的实例。
- ALLOWED_PROJECTS:允许的项目 ID 或编号列表(以英文逗号分隔)。这些项目会替换已配置为使用 Private Service Connect 的项目。如果某个项目未包含在此列表中,您无法使用它来创建实例并为其启用 Private Service Connect。
以下示例允许两个项目(98765
和 87654
)从 Private Service Connect 端点连接到 12345
项目中包含的 myinstance
Cloud SQL 实例:
gcloud sql instances patch myinstance \ --project=12345 \ --allowed-psc-projects='98765','87654'
如需移除所有允许的项目,请使用 gcloud sql instances patch
命令和--clear-allowed-psc-projects
标志:
gcloud sql instances patch INSTANCE_NAME \ --project=PROJECT_ID \ --clear-allowed-psc-projects
此标志可确保没有项目被意外允许。
REST v1
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:Google Cloud 项目的 ID 或项目编号,该项目包含 VPC 网络中的 Private Service Connect 端点可以连接到的实例。
- INSTANCE_NAME:VPC 网络中的 Private Service Connect 端点可以连接到的 Cloud SQL 实例的名称。
- ALLOWED_PROJECTS:允许的项目 ID 或编号列表(以英文逗号分隔)。这些项目会替换已配置为使用 Private Service Connect 的项目。如果某个项目未包含在此列表中,您无法使用它来创建实例并为其启用 Private Service Connect。
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
请求 JSON 正文:
{ "kind": "sql#instance", "name": "INSTANCE_NAME", "project": "PROJECT_ID", "settings": { "ipConfiguration": { "pscConfig": { "allowedConsumerProjects": [ALLOWED_PROJECTS] } }, "kind": "sql#settings" } }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_NAME", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
如需移除所有允许的项目,请使用 clear-allowed-psc-projects
标志。此标志可确保没有项目被意外允许。
REST v1beta4
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:Google Cloud 项目的 ID 或项目编号,该项目包含 VPC 网络中的 Private Service Connect 端点可以连接到的实例。
- INSTANCE_NAME:VPC 网络中的 Private Service Connect 端点可以连接到的 Cloud SQL 实例的名称。
- ALLOWED_PROJECTS:允许的项目 ID 或编号列表(以英文逗号分隔)。这些项目会替换已配置为使用 Private Service Connect 的项目。如果某个项目未包含在此列表中,您无法使用它来创建实例并为其启用 Private Service Connect。
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
请求 JSON 正文:
{ "kind": "sql#instance", "name": "INSTANCE_NAME", "project": "PROJECT_ID", "settings": { "ipConfiguration": { "pscConfig": { "allowedConsumerProjects": [ALLOWED_PROJECTS] } }, "kind": "sql#settings" } }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_NAME", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
如需移除所有允许的项目,请使用 clear-allowed-psc-projects
标志。此标志可确保没有项目被意外允许。
修改实例的自定义 SAN
如果您想使用自定义 DNS 名称(而非 IP 地址)连接到 Cloud SQL 实例,那么请在创建实例时配置自定义主题备用名称 (SAN) 设置。您在自定义 SAN 设置中插入的自定义 DNS 名称会添加到实例的服务器证书的 SAN 字段中。这样,您就可以安全地使用自定义 DNS 名称进行主机名验证。
您可以使用自定义 SAN 对实例的服务器证书执行以下操作:
- 向实例添加 DNS 名称:向自定义 SAN 设置添加最多三个自定义 DNS 名称的英文逗号分隔列表。Cloud SQL 会将这些名称添加到服务器证书的 SAN 字段中。您可以使用单个证书保护多个 DNS 名称。
- 修改实例的 DNS 名称:更改您要添加到实例服务器证书的 SAN 字段中的自定义 DNS 名称。
- 从实例中移除 DNS 名称:从实例的服务器证书的 SAN 字段中移除所有自定义 DNS 名称。
您可以使用 gcloud CLI 或 API 修改实例的自定义 SAN。
gcloud
如需修改实例的自定义 SAN,请使用 gcloud beta sql instances patch
命令:
gcloud beta sql instances patch INSTANCE_NAME \ --project=PROJECT_ID \ --custom-subject-alternative-names=DNS_NAMES
进行以下替换:
- INSTANCE_NAME:具有您要为其添加、修改或移除 DNS 名称的服务器证书的 Cloud SQL 实例的名称
- PROJECT_ID:包含实例的 Google Cloud 项目的 ID 或项目编号
- DNS_NAMES:您要添加到实例服务器证书中的最多三个 DNS 名称的英文逗号分隔列表
如需从 Cloud SQL 实例的服务器证书中移除所有 DNS 名称,请使用 gcloud beta sql instances patch
命令和 --clear-custom-subject-alternative-names
标志:
gcloud beta sql instances patch INSTANCE_NAME \ --project=PROJECT_ID \ --clear-custom-subject-alternative-names
此标志可确保没有 DNS 名称被意外添加到证书中。
REST
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:Google Cloud 项目的 ID 或项目编号。此项目包含一个 Cloud SQL 实例,该实例具有您要为其添加、修改或移除 DNS 名称的服务器证书。
- INSTANCE_NAME:实例的名称。
DNS_NAMES:您要添加到实例服务器证书中的最多三个 DNS 名称的英文逗号分隔列表。
如果您已向证书添加了 DNS 名称,并且使用此参数指定其他 DNS 名称,则 Cloud SQL 会从证书中移除原始 DNS 名称。
如果您没有为
customSubjectAlternativeNames
参数指定任何 DNS 名称,而是提供 null[]
值,则 Cloud SQL 会从实例的服务器证书中移除所有 DNS 名称。这样可确保没有 DNS 名称被意外添加到证书中。
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/sql/v1veta4/projects/PROJECT_ID/instances/INSTANCE_NAME
请求 JSON 正文:
{ "kind": "sql#instance", "name": "INSTANCE_NAME", "project": "PROJECT_ID", "settings": { "ipConfiguration": { "customSubjectAlternativeNames": "DNS_NAMES" }, "kind": "sql#settings" } }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_NAME", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }