IBM Cloud Hyper Protect DBaaS CLI 插件
不推荐使用 Hyper Protect DBaaS。 截至 2023 年 4 月 15 日,您无法创建新实例,将除去对免费实例的访问权。 支持现有付费实例,直到 2023 年 11 月 30 日。 将于 2024 年 3 月 1 删除现有实例。
此 CLI V 2.0. 需要输入参数 --output json
来返回 JSON 输出,以便与其他 CLI 插件保持一致。 这可能会中断正在运行的自动化。 如果仍使用 V 1.x ( 不推荐) ,请在命令中保留此选项。 版本 2.0 中的另一个更改是命令名称不再包含 -list
和 -show
(例如, ibmcloud dbaas cluster-show
现在为 ibmcloud dbaas cluster
)。 不推荐使用旧的命令名,尽管它们仍可工作。
使用 IBM Cloud® Hyper Protect DBaaS CLI 插件可获取有关集群,数据库,用户和节点的信息,列出和下载日志文件,扩展资源,更新配置,备份和复原数据库以及检查任务状态。
先决条件
-
安装 IBM Cloud CLI。 IBM Cloud CLI 需要 Java SDK 1.7.0。 使用 IBM Cloud CLI 运行命令的前缀为
ibmcloud
。 在终端中,当ibmcloud
CLI 和插件的更新可用时,将通知您。 务必使 CLI 保持最新,以便您可以使用所有可用的命令和标志。 -
安装 IBM Cloud Hyper Protect DBaaS CLI 插件。 请参阅 安装 Hyper Protect DBaaS for MongoDB CLI 插件 或 安装 Hyper Protect DBaaS for PostgreSQL CLI 插件 以获取详细指示信息。 如果要查看当前版本的 Hyper Protect DBaaS CLI 插件,运行
ibmcloud plugin show dbaas
。
CLI 插件用法命令
ibmcloud dbaas help
此命令显示 DBaaS 命令的列表。
ibmcloud help dbaas
在返回的列表中,对于某些命令,您可以看到两个命令名称,例如 cluster, cluster-show
和 databases, databases-list
。 具有 -show
和 -list
的是旧的命令名,不推荐使用但仍可工作。 建议在不使用 -list
和 -show
的情况下使用新命令,如以下部分中所述。
集群命令
ibmcloud dbaas cluster
此命令显示有关数据库集群的详细信息,包括有关每个节点的信息。
ibmcloud dbaas cluster RESOURCE_NAME [--output json]
命令选项
RESOURCE_NAME
- DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 要查找资源名称,请使用 IBM Cloud 命令ibmcloud resource service-instances
。 --output
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
ibmcloud dbaas resource-scale
此命令可扩展集群资源 (磁盘, RAM 或 vCPU)。 有关有效值范围,请参阅 值表 (对于 MongoDB 和 PostgreSQL相同)。
ibmcloud dbaas resource-scale RESOURCE_NAME [--cpu|-c NUM_CPU] [--memory|-m MEM_GIB] [--storage|-s STORAGE_GIB] [--force] [--output json]
命令选项
RESOURCE_NAME
- DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 --cpu value
- 专用 CPU 核心的总数。
--memory value
- 内存分配总量(以 GiB 为单位)。 例如,
--memory 4
。 --storage value
- 存储分配总量(以 GiB 为单位)。 例如,
--storage 10
。 --force
- 在未确认
y/N
的情况下强制缩放。 --output
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
数据库命令
ibmcloud dbaas databases
此命令列出集群上的所有数据库。
ibmcloud dbaas databases RESOURCE_NAME [--output json]
命令选项
RESOURCE_NAME
- DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 --output
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
数据库配置命令 (针对 PostgreSQL)
ibmcloud dbaas configuration
此命令显示数据库配置详细信息。
ibmcloud dbaas configuration RESOURCE_NAME [--output json]
命令选项
RESOURCE_NAME
- DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 --output
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
ibmcloud dbaas configuration-update
此命令从 JSON 文件或 JSON 字符串发送更改以更新数据库配置。
ibmcloud dbaas configuration-update RESOURCE_NAME [@JSON_FILE | JSON_STRING] [-f | --force] [--output json]
命令选项
RESOURCE_NAME
- DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。
配置参数 都是整数。 请勿在 JSON 文件或字符串中指定单元。
@JSON_FILE
- 包含数据库配置的 JSON 文件。 例如:
ibmcloud dbaas configuration-update MyDBaaSIns03 @./conf.json
JSON 文件中的内容:
{
"configuration":{
"max_locks_per_transaction":150,
"deadlock_timeout":1500,
"shared_buffers":256,
"max_connections":115
}
}
如果只想更新其中一个设置,那么只需在文件中指定要更新的一个设置即可。 例如:
{
"configuration":{
"max_locks_per_transaction":150
}
}
JSON_STRING
- 参数更改为发送到 JSON 文件。 例如,
'{"configuration":{"max_locks_per_transaction":150}}'
(对于 Windows ,请使用"{\"configuration\": {\"max_locks_per_transaction\": 150}}"
)。 您可以使用ibmcloud dbaas configuration
命令来获取可配置参数的列表。 -f, --force
- 强制配置更新而不提示确认。
--output
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
数据库用户命令
ibmcloud dbaas users
此命令列出所有数据库用户。
ibmcloud dbaas users RESOURCE_NAME [--output json]
命令选项
RESOURCE_NAME
- DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 --output
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
ibmcloud dbaas user
此命令显示有关数据库用户的详细信息。
ibmcloud dbaas user RESOURCE_NAME AUTHDB_USER_NAME [--output json]
命令选项
RESOURCE_NAME
- DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 AUTHDB_USER_NAME
- 要获取详细信息的用户的用户名。 您可以使用
ibmcloud dbaas users
命令来获取集群的用户列表。 --output
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
日志命令
ibmcloud dbaas log-get
此命令从节点下载日志文件。
ibmcloud dbaas log-get RESOURCE_NAME NODE_ID FILE_NAME
命令选项
RESOURCE_NAME
- DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 NODE_ID
- 节点的标识。
FILE_NAME
- 要下载的日志文件的名称。 您可以使用 ibmcloud dbaas logs 命令来获取节点上现有日志文件的列表。
ibmcloud dbaas logs
此命令列出节点上的所有日志文件。 可以将列出的任何文件名用作 ibmcloud dbaas log-get 命令的输入。
ibmcloud dbaas logs RESOURCE_NAME NODE_ID [--output json]
命令选项
RESOURCE_NAME
- DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 NODE_ID
- 节点的标识。
--output
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
任务命令
ibmcloud dbaas tasks
此命令列出正在集群上运行或最近在集群上运行的所有任务。
ibmcloud dbaas tasks RESOURCE_NAME [--output json]
命令选项
RESOURCE_NAME
- DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 --output
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
ibmcloud dbaas task
此命令显示有关任务的详细信息。
ibmcloud dbaas task RESOURCE_NAME TASK_ID [--output json]
命令选项
RESOURCE_NAME
- DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 TASK_ID
- 任务的标识。
--output
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
备份和复原命令
使用 ibmcloud dbaas help backup
可查看备份和复原命令的列表。 backup
是包含所有备份和复原命令的子名称空间。
ibmcloud dbaas backup enable
此命令对数据库集群启用备份。
ibmcloud dbaas backup enable RESOURCE_NAME --cos-hmac-credentials-path CREDENTIALS_PATH --cos-endpoint COS_ENDPOINT --cos-bucket-crn BUCKET_CRN [--cos-frequency FREQUENCY] [--output json]
命令选项
RESOURCE_NAME
- 源 DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 --cos-hmac-credentials-path value
- 包含 JSON 格式的 HMAC 凭证 (
access_key_id
和secret_access_key
) 的文件的路径。 在创建服务凭证时,请确保为 包含 HMAC 凭证 设置 开启 。 您可以通过在 IBM Cloud Object Storage Web UI 中选择 服务凭证 来查找凭证。 创建一个包含从其中复制的完整 JSON 的文件,或者至少包含以下示例中的内容。 您还可以 将 HMAC 凭证设置为环境变量 并省略此命令选项。
HMAC 凭证示例:
{
"cos_hmac_keys": {
"access_key_id": "abc",
"secret_access_key": "xyz"
}
}
--cos-endpoint value
- IBM Cloud Object Storage 的端点 (必需)。 在 IBM Cloud Object Storage Web UI 中,选择存储区,然后可以在 配置 选项卡中找到 端点 。 目前仅支持公共端点。 将很快提供对专用端点的支持。
--cos-bucket-crn value
- IBM Cloud Object Storage 存储区 CRN (必需)。 在 IBM Cloud Object Storage Web UI 中,选择存储区,然后可以在 配置 选项卡中找到 存储区实例 CRN 。
--cos-frequency value
- 备份到 IBM Cloud Object Storage的频率。 缺省值为
8
小时。 此选项 仅可用于 PostgreSQL。 有效值为1h
,2h
,4h
,8h
,1d
,2d
和1w
。 --output value
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
ibmcloud dbaas backup disable
此命令将禁用数据库集群的备份。
ibmcloud dbaas backup disable RESOURCE_NAME [--output json]
命令选项
RESOURCE_NAME
- 源 DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 --output value
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
ibmcloud dbaas backup list
此命令列出数据库集群的 本地 (而不是 IBM Cloud Object Storage) 备份。
ibmcloud dbaas backup list RESOURCE_NAME [--output json]
命令选项
RESOURCE_NAME
- 源 DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 --output value
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
ibmcloud dbaas backup restore
此命令从本地存储器或数据库集群的 IBM Cloud Object Storage 复原备份。 要将备份复原到新的服务实例中,请先创建新的服务实例。
从本地存储器复原:
只能将本地备份复原到当前服务实例中。
ibmcloud dbaas backup restore RESOURCE_NAME --local-backup-id LOCAL_BACKUP_ID [--output json]
从 IBM Cloud Object Storage复原:
要将备份复原到新的服务实例中,请先创建新的服务实例。
ibmcloud dbaas backup restore RESOURCE_NAME --cos-hmac-credentials-path CREDENTIALS_PATH --cos-endpoint COS_ENDPOINT --cos-bucket-crn BUCKET_CRN --cos-backup-file FILE_NAME [--output json]
命令选项
RESOURCE_NAME
- 目标 DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 --output value
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
从本地存储器复原:
--local-backup-id value
- 要复原的本地备份的标识 (必需)。 可以使用
ibmcloud dbaas backup list
命令来获取本地备份的列表。
从 IBM Cloud Object Storage复原:
--cos-hmac-credentials-path value
- 包含 JSON 格式的 HMAC 凭证 (
access_key_id
和secret_access_key
) 的文件的路径。 您可以通过在 IBM Cloud Object Storage Web UI 中选择 服务凭证 来查找凭证。 创建一个包含从其中复制的完整 JSON 的文件,或者至少包含以下示例中的内容。 您还可以 将 HMAC 凭证设置为环境变量 并省略此命令选项。
HMAC 凭证示例:
{
"cos_hmac_keys": {
"access_key_id": "abc",
"secret_access_key": "xyz"
}
}
--cos-endpoint value
- IBM Cloud Object Storage 的端点 (必需)。 在 IBM Cloud Object Storage Web UI 中,选择存储区,然后可以在 配置 选项卡中找到 端点 。 目前仅支持公共端点。 将很快提供对专用端点的支持。
--cos-bucket-crn value
- IBM Cloud Object Storage 存储区 CRN (必需)。 在 IBM Cloud Object Storage Web UI 中,选择存储区,然后可以在 配置 选项卡中找到 存储区实例 CRN 。
--cos-backup-file value
- 要复原的备份文件的名称 (必需)。 备份文件名标识生成备份时的日期和时间
yyyy-mm-dd-hhmmssZ
(UTC)。 您可以通过以下任一方式获取 COS 备份文件的列表。- 使用 UI。 在 IBM Cloud Object Storage Web UI 中,选择存储区,您可以在 对象 选项卡的 对象名称 列中找到可用文件名。
- 使用 IBM Cloud Object Storage CLI 插件。
- 安装并配置 IBM Cloud Object Storage 插件。
- 使用
ibmcloud cos objects --bucket BUCKET
命令列出备份文件。
ibmcloud dbaas backup configuration
此命令显示数据库集群的备份配置。
ibmcloud dbaas backup configuration RESOURCE_NAME [--output json]
命令选项
RESOURCE_NAME
- 源 DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 --output value
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。
ibmcloud dbaas backup configure
此命令将数据库集群的备份配置更改为 IBM Cloud Object Storage 。
ibmcloud dbaas backup configure RESOURCE_NAME [--cos-hmac-credentials-path CREDENTIALS_PATH --cos-endpoint COS_ENDPOINT --cos-bucket-crn BUCKET_CRN] [--cos-frequency FREQUENCY] [--output json]
命令选项
RESOURCE_NAME
- 源 DBaaS 服务实例的名称或 CRN。 要查找资源名称或 CRN ,请使用 IBM Cloud 命令
ibmcloud resource service-instances --long
。 --cos-hmac-credentials-path value
- 包含 JSON 格式的 HMAC 凭证 (
access_key_id
和secret_access_key
) 的文件的路径。 您可以通过在 IBM Cloud Object Storage Web UI 中选择 服务凭证 来查找凭证。 创建一个包含从其中复制的完整 JSON 的文件,或者至少包含以下示例中的内容。 您还可以 将 HMAC 凭证设置为环境变量 并省略此命令选项。
HMAC 凭证示例:
{
"cos_hmac_keys": {
"access_key_id": "abc",
"secret_access_key": "xyz"
}
}
--cos-endpoint value
- IBM Cloud Object Storage的端点。 如果设置了
--cos-bucket-crn
,那么此参数是必需的。 在 IBM Cloud Object Storage Web UI 中,选择存储区,然后可以在 配置 选项卡中找到 端点 。 目前仅支持公共端点。 将很快提供对专用端点的支持。 --cos-bucket-crn value
- IBM Cloud Object Storage 存储区 CRN。 如果设置了
--cos-endpoint
,那么此参数是必需的。 在 IBM Cloud Object Storage Web UI 中,选择存储区,然后可以在 配置 选项卡中找到 存储区实例 CRN 。 --cos-frequency value
- 备份到 IBM Cloud Object Storage的频率。 此选项 仅可用于 PostgreSQL。 您可以使用
ibmcloud dbaas backup configuration
命令来获取当前值。 有效值为1h
,2h
,4h
,8h
,1d
,2d
和1w
。 --output value
- 使用值为
json
的--output
选项来格式化 JSON 格式的输出。