创建和管理读取池
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
MySQL
| PostgreSQL
| SQL Server
本页介绍了如何为大量读取工作负载创建和管理读取池。
准备工作
- 读取池包含主实例的副本。如果您尚未创建 Cloud SQL 企业 Plus 版主实例,请创建一个。虽然读取池支持公共 IP 连接,但出于本指南的目的,请创建具有专用 IP (PSA) 连接的主实例。
如需详细了解主实例和复制,请参阅 Cloud SQL 中的复制简介。
- 创建主实例后,为 root 用户选择一个密码,然后运行以下命令在主实例上设置密码。
保存此密码,以便稍后在连接到读取池时使用。
gcloud --project=PROJECT \
sql users set-password root --host=% \
--instance=PRIMARY_INSTANCE_NAME --prompt-for-password
进行以下替换:
- PROJECT:您要将主实例和读取池放置在其中的项目的名称。
- PRIMARY_INSTANCE_NAME:主实例的名称。
创建读取池
gcloud
如需了解如何安装和开始使用 gcloud CLI,请参阅安装 gcloud CLI。如需了解如何启动 Cloud Shell,请参阅使用 Cloud Shell。
使用以下 gcloud beta sql instances create
命令创建包含多个读取池节点的读取池:
gcloud beta sql instances create READ_POOL_NAME \
--tier=TIER --edition=ENTERPRISE_PLUS \
--instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT \
--master-instance-name=PRIMARY_INSTANCE_NAME
进行以下替换:
- READ_POOL_NAME:您要为读取池使用的名称。
- TIER:您要为读取池中的每个读取池节点使用的机器类型,例如
db-perf-optimized-N-4
。
- NODE_COUNT:您希望读取池中包含的读取池节点数。选择
1
到 20
之间的任意数字。
- PRIMARY_INSTANCE_NAME:与读取池关联的主实例的名称,例如
my-primary-instance
。
REST v1
使用实例资源的
insert
方法创建包含多个读取池节点的读取池。databaseVersion
属性必须与主实例相同。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT:您要将主实例和读取池放置在其中的项目的名称。
- REGION:读取池的区域,例如
us-east1
。
区域必须与主实例相同。
- TIER:您要为读取池中的每个读取池节点使用的机器类型,例如
db-perf-optimized-N-4
。
- PRIMARY_INSTANCE_NAME:主实例的名称。
- READ_POOL_NAME:您要为读取池使用的名称,例如
my-read-pool
。
- DATABASE_VERSION:您要使用的目标数据库版本。
例如
POSTGRES_16
。
- NODE_COUNT:您希望读取池中包含的读取池节点数。选择
1
到 20
之间的任意数字。
- FULL_NETWORK_NAME:您希望读取池驻留的完整网络路径,例如
projects/vpc-host-project/global/networks/my-network-name
。
HTTP 方法和网址:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT/instances
请求 JSON 正文:
{
"name": "READ_POOL_NAME",
"masterInstanceName": "PRIMARY_INSTANCE_NAME",
"project": "PROJECT",
"databaseVersion": "DATABASE_VERSION",
"region": "REGION",
"instanceType": "READ_POOL_INSTANCE",
"nodeCount": NODE_COUNT,
"settings": {
"tier": "TIER",
"edition": "ENTERPRISE_PLUS",
"ipConfiguration": {
"ipv4Enabled": false,
"privateNetwork": "FULL_NETWORK_NAME"
}
}
}
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/PROJECT/instances"
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
响应
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE_READ_POOL",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
REST v1beta4
使用实例资源的
insert
方法创建包含多个读取池节点的读取池。databaseVersion
属性必须与主实例相同。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT:您要将主实例和读取池放置在其中的项目的名称。
- REGION:读取池的区域,例如
us-east1
。
区域必须与主实例相同。
- TIER:您要为读取池中的每个读取池节点使用的机器类型,例如
db-perf-optimized-N-4
。
- PRIMARY_INSTANCE_NAME:主实例的名称。
- READ_POOL_NAME:您要为读取池使用的名称,例如
my-read-pool
。
- DATABASE_VERSION:您要使用的目标数据库版本。
例如
POSTGRES_16
。
- NODE_COUNT:您希望读取池中包含的读取池节点数。选择
1
到 20
之间的任意数字。
- FULL_NETWORK_NAME:您希望读取池驻留的完整网络路径,例如
projects/vpc-host-project/global/networks/my-network-name
。
HTTP 方法和网址:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances
请求 JSON 正文:
{
"name": "READ_POOL_NAME",
"masterInstanceName": "PRIMARY_INSTANCE_NAME",
"project": "PROJECT",
"databaseVersion": "DATABASE_VERSION",
"region": "REGION",
"instanceType": "READ_POOL_INSTANCE",
"nodeCount": NODE_COUNT,
"settings": {
"tier": "TIER",
"edition": "ENTERPRISE_PLUS",
"ipConfiguration": {
"ipv4Enabled": false,
"privateNetwork": "FULL_NETWORK_NAME"
}
}
}
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances"
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
响应
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE_READ_POOL",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
将读取副本转换为读取池
您可以通过指定读取池中的节点数量,将现有的 Cloud SQL 企业 Plus 版读取副本转换为读取池。在此转换过程中,副本 IP 将成为读取池 IP(读取端点),因此现有客户端无需重新配置即可连接到该池。
新创建的读取池节点将具有与原始读取副本相同的机器类型和配置。如需更改此机器类型或配置,您需要执行单独的操作。只有可用区级读取副本支持此操作。如需将高可用性 (HA) 读取副本转换为读取池,您必须先将其转换为可用区读取副本。
如需了解详情,请参阅修改读取池配置。
gcloud
如需了解如何安装和开始使用 gcloud CLI,请参阅安装 gcloud CLI。如需了解如何启动 Cloud Shell,请参阅使用 Cloud Shell。
使用以下 gcloud beta sql instances patch
命令将读取副本转换为可与读取池搭配使用的副本:
gcloud beta sql instances patch READ_REPLICA_NAME \
--instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT
进行以下替换:
- READ_REPLICA_NAME:您要转换的只读副本的名称。
- NODE_COUNT:您希望读取池中包含的读取池节点数。选择
1
到 20
之间的任意数字。
REST v1
使用实例资源的
patch
方法将读取副本转换为读取池。
在使用任何请求数据之前,请先进行以下替换:
- READ_REPLICA_NAME:您要转换的只读副本的名称,例如
my-read-replica
。
- NODE_COUNT:您希望读取池中包含的读取池节点数。选择
1
到 20
之间的任意数字。
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_REPLICA_NAME
请求 JSON 正文:
{
"instanceType": "READ_POOL_INSTANCE",
"nodeCount": NODE_COUNT
}
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_REPLICA_NAME"
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_REPLICA_NAME" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
响应
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_REPLICA_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_REPLICA_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
REST v1beta4
使用实例资源的
patch
方法将读取副本转换为读取池。
在使用任何请求数据之前,请先进行以下替换:
- READ_REPLICA_NAME:您要转换的只读副本的名称,例如
my-read-replica
。
- NODE_COUNT:您希望读取池中包含的读取池节点数。选择
1
到 20
之间的任意数字。
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_REPLICA_NAME
请求 JSON 正文:
{
"instanceType": "READ_POOL_INSTANCE",
"nodeCount": NODE_COUNT
}
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_REPLICA_NAME"
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_REPLICA_NAME" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
响应
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_REPLICA_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_REPLICA_NAME",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
将读取池转换为读取副本
gcloud
如需了解如何安装和开始使用 gcloud CLI,请参阅安装 gcloud CLI。如需了解如何启动 Cloud Shell,请参阅使用 Cloud Shell。
使用以下 gcloud beta sql instances patch
命令将读取副本转换为可与读取池搭配使用的副本:
gcloud beta sql instances patch READ_POOL_NAME \
--instance-type=READ_REPLICA_INSTANCE
进行以下替换:
- READ_POOL_NAME:您要转换的只读池的名称。
REST v1
使用实例资源的
patch
方法将读取池转换为读取副本。
在使用任何请求数据之前,请先进行以下替换:
- READ_POOL_NAME:读取池的名称,例如
my-read-pool
。
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
请求 JSON 正文:
{
"instanceType": "READ_REPLICA_INSTANCE"
}
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME"
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
响应
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
REST v1beta4
使用实例资源的
patch
方法将读取池转换为读取副本。
在使用任何请求数据之前,请先进行以下替换:
- READ_POOL_NAME:读取池的名称,例如
my-read-pool
。
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
请求 JSON 正文:
{
"instanceType": "READ_REPLICA_INSTANCE"
}
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME"
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
响应
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
查看读取池信息
gcloud
如需了解如何安装和开始使用 gcloud CLI,请参阅安装 gcloud CLI。如需了解如何启动 Cloud Shell,请参阅使用 Cloud Shell。
使用以下 gcloud beta sql instances describe
命令描述读取池:
gcloud beta sql instances describe READ_POOL_NAME
进行以下替换:
- READ_POOL_NAME:您要描述的只读池的名称。
包含 IP 地址和节点信息的示例响应可能如下所示:
...
connectionName: my-project:us-central1:read-pool
ipAddresses:
- ipAddress: 10.3.0.108
type: PRIVATE
nodeCount: 2
nodes:
- dnsName: c5bdacb09ffc.j10o8yqc7pve.us-central1.sql.goog.
gceZone: us-central1-f
ipAddresses:
- ipAddress: 10.3.0.112
type: PRIVATE
name: read-pool-node-01
state: RUNNABLE
- dnsName: 8f77c454d6b2.j10o8yqc7pve.us-central1.sql.goog.
gceZone: us-central1-c
ipAddresses:
- ipAddress: 10.3.0.113
type: PRIVATE
name: read-pool-node-02
state: RUNNABLE
REST v1
使用
get
方法查看读取池详细信息。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT:读取池所在项目的名称。
- READ_POOL_NAME:读取池的名称,例如
my-read-pool
。
HTTP 方法和网址:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME"
PowerShell (Windows)
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
响应
{
[...],
"connectionName": "my-project:us-central1:read-pool",
"ipAddresses": [
{
"type": "PRIVATE",
"ipAddress": "10.3.0.108"
}
],
"nodeCount": 2,
"nodes": [
{
"ipAddresses": [
{
"type": "PRIVATE",
"ipAddress": "10.3.0.112"
}
],
"name": "read-pool-node-01",
"gceZone": "us-central1-f",
"dnsName": "c5bdacb09ffc.j10o8yqc7pve.us-central1.sql.goog.",
"state": "RUNNABLE"
},
{
"ipAddresses": [
{
"type": "PRIVATE",
"ipAddress": "10.3.0.113"
}
],
"name": "read-pool-node-02",
"gceZone": "us-central1-c",
"dnsName": "8f77c454d6b2.j10o8yqc7pve.us-central1.sql.goog.",
"state": "RUNNABLE"
}
]
}
REST v1beta4
使用
get
方法查看读取池详细信息。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT:读取池所在项目的名称。
- READ_POOL_NAME:读取池的名称,例如
my-read-pool
。
HTTP 方法和网址:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME"
PowerShell (Windows)
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
{
[...],
"connectionName": "my-project:us-central1:read-pool",
"ipAddresses": [
{
"type": "PRIVATE",
"ipAddress": "10.3.0.108"
}
],
"nodeCount": 2,
"nodes": [
{
"ipAddresses": [
{
"type": "PRIVATE",
"ipAddress": "10.3.0.112"
}
],
"name": "read-pool-node-01",
"gceZone": "us-central1-f",
"dnsName": "c5bdacb09ffc.j10o8yqc7pve.us-central1.sql.goog.",
"state": "RUNNABLE"
},
{
"ipAddresses": [
{
"type": "PRIVATE",
"ipAddress": "10.3.0.113"
}
],
"name": "read-pool-node-02",
"gceZone": "us-central1-c",
"dnsName": "8f77c454d6b2.j10o8yqc7pve.us-central1.sql.goog.",
"state": "RUNNABLE"
}
]
}
添加或移除读取池节点
以下步骤通过修改读取池中的读取池节点数量来扩缩或缩减读取池。存在一些操作限制。如需了解详情,请参阅读取池限制。
gcloud
如需了解如何安装和开始使用 gcloud CLI,请参阅安装 gcloud CLI。如需了解如何启动 Cloud Shell,请参阅使用 Cloud Shell。
使用以下 gcloud beta sql instances patch
命令扩缩读取池:
gcloud beta sql instances patch READ_POOL_NAME \
--node-count=NODE_COUNT
进行以下替换:
- READ_POOL_NAME:读取池的名称。
- NODE_COUNT:您希望读取池中包含的读取池节点数。选择
1
到 20
之间的任意数字。
REST v1
使用
patch
方法通过修改读取池中的读取池节点数量来缩放读取池。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT:读取池所在项目的名称。
- NODE_COUNT:您希望读取池中包含的读取池节点数。选择
1
到 20
之间的任意数字。
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
请求 JSON 正文:
{
"nodeCount": NODE_COUNT
}
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME"
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
响应
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
REST v1beta4
使用
patch
方法通过修改读取池中的读取池节点数量来缩放读取池。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT:读取池所在项目的名称。
- NODE_COUNT:您希望读取池中包含的读取池节点数。选择
1
到 20
之间的任意数字。
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
请求 JSON 正文:
{
"nodeCount": NODE_COUNT
}
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME"
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
响应
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAMEINSTANCE_ID",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
修改读取池配置
以下步骤展示了如何修改读取池配置。如需了解详情,请参阅实例设置简介和修改实例。
gcloud
如需了解如何安装和开始使用 gcloud CLI,请参阅安装 gcloud CLI。如需了解如何启动 Cloud Shell,请参阅使用 Cloud Shell。
使用以下 gcloud beta sql instances patch
命令垂直扩缩读取池,例如通过修改机器类型:
gcloud beta sql instances patch READ_POOL_NAME \
--tier=TIER
进行以下替换:
- READ_POOL_NAME:读取池的名称。
- TIER:您要应用于读取池中的每个读取池节点的机器类型,例如
db-perf-optimized-N-8
。
REST v1
使用
patch
方法修改读取池节点配置。
设置会统一应用于读取池中的所有读取池节点。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT:读取池所在项目的名称。
- TIER:您要为读取池中的每个读取池节点使用的机器类型,例如
db-perf-optimized-N-4
。
- READ_POOL_NAME:读取池的名称,例如
my-read-pool
。
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
请求 JSON 正文:
{
"settings": {
"tier": "TIER"
}
}
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME"
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
响应
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
REST v1beta4
使用
patch
方法修改读取池节点配置。
设置会统一应用于读取池中的所有读取池节点。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT:读取池所在项目的名称。
- TIER:您要为读取池中的每个读取池节点使用的机器类型,例如
db-perf-optimized-N-4
。
- READ_POOL_NAME:读取池的名称,例如
my-read-pool
。
HTTP 方法和网址:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
请求 JSON 正文:
{
"settings": {
"tier": "TIER"
}
}
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME"
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
响应
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
连接到读取池
您可以通过多种方式连接到读取池。以下步骤展示了一种方法,即在同一 VPC 网络中创建一个虚拟机来用作连接来源,以便使用专用 IP 地址连接到读取池。
如需详细了解配置 Cloud SQL 实例连接的其他方式,请参阅 Cloud SQL 连接简介。连接方法通常要求您先获取实例的 IP 地址或连接名称,如查看读取池信息中所述。读取池支持适用于其他 Cloud SQL 实例的大多数连接方法,但存在一些限制。
如果您使用 Cloud SQL Auth 代理或 Cloud SQL 连接器进行连接,请务必更新到最新版本。对于读取池支持,所需的最低版本包括:
- Cloud SQL Auth 代理:v2.15.2
- Cloud SQL Python 连接器:v1.18.0
- Cloud SQL Go 连接器:v1.16.0
- Cloud SQL Node 连接器:v1.7.0
- Cloud SQL Java 连接器:v1.24.0
删除读取池
gcloud
如需了解如何安装和开始使用 gcloud CLI,请参阅安装 gcloud CLI。如需了解如何启动 Cloud Shell,请参阅使用 Cloud Shell。
使用以下 gcloud sql instances delete
命令删除读取池:
gcloud sql instances delete READ_POOL_NAME
进行以下替换:
- READ_POOL_NAME:要删除的读取池的名称。
REST v1
使用
delete
方法删除读取池。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT:读取池所在项目的名称。
- READ_POOL_NAME:读取池的名称,例如
my-read-pool
。
HTTP 方法和网址:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
执行以下命令:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME"
PowerShell (Windows)
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
响应
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
REST v1beta4
使用
delete
方法删除读取池。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT:读取池所在项目的名称。
- READ_POOL_NAME:读取池的名称,例如
my-read-pool
。
HTTP 方法和网址:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
执行以下命令:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME"
PowerShell (Windows)
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
响应
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-04-22。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-04-22。"],[],[]]