huawei-cloud-rds-smart-service
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseHuawei Cloud RDS Smart Service
华为云RDS智能服务
Full-scenario intelligent service for Huawei Cloud RDS — covering basic Q&A, SQL optimization, daily O&M, fault diagnosis, parameter tuning, and backup recovery across all database engines.
华为云RDS全场景智能服务——覆盖所有数据库引擎的基础问答、SQL优化、日常运维、故障诊断、参数调优及备份恢复。
Overview
概述
This skill provides comprehensive intelligent services for Huawei Cloud Relational Database Service (RDS). It supports all database engines (MySQL, PostgreSQL, SQL Server, MariaDB, GaussDB for MySQL, TaurusDB) and covers six major capability domains:
| Domain | Capabilities |
|---|---|
| Basic Q&A | Product feature consultation, best practices, specification/version queries, instance listing |
| SQL Optimization | Slow log analysis, top SQL queries, execution plan guidance, index optimization suggestions, SQL limit control |
| Daily O&M | Health inspection, instance restart, flavor resize, disk expansion, primary-standby switchover, read replica management, auto-scaling policy |
| Fault Diagnosis | Error log analysis, replication status, connection diagnostics, recovery time window, instance diagnosis, intelligent session kill |
| Parameter Tuning | Parameter group CRUD, parameter apply, instance parameter modification, parameter change history |
| Backup Recovery | Backup policy management, manual backup creation/deletion, restore to new/existing instance, point-in-time recovery, backup usage summary |
| Security | Security group modification, SSL configuration, audit log management |
本技能为华为云关系型数据库服务(RDS)提供全面的智能服务。支持所有数据库引擎(MySQL、PostgreSQL、SQL Server、MariaDB、GaussDB for MySQL、TaurusDB),涵盖六大核心能力域:
| 能力域 | 具体能力 |
|---|---|
| 基础问答 | 产品特性咨询、最佳实践、规格/版本查询、实例列表查看 |
| SQL优化 | 慢日志分析、Top SQL查询、执行计划指导、索引优化建议、SQL限流控制 |
| 日常运维 | 健康巡检、实例重启、规格调整、磁盘扩容、主备切换、只读副本管理、自动扩缩容策略 |
| 故障诊断 | 错误日志分析、复制状态查看、连接诊断、恢复时间窗口、实例诊断、智能会话终止 |
| 参数调优 | 参数组增删改查、参数应用、实例参数修改、参数变更历史 |
| 备份恢复 | 备份策略管理、手动备份创建/删除、恢复至新/已有实例、时间点恢复、备份使用汇总 |
| 安全管理 | 安全组修改、SSL配置、审计日志管理 |
Architecture
架构
User Request → Skill Trigger Matching → Capability Domain Routing
→ CLI (hcloud RDS) → [fallback] → SDK (huaweicloudsdkrds.v3) → [fallback] → API (REST)
→ Result Formatting → Intelligent Analysis & Recommendations用户请求 → 技能触发匹配 → 能力域路由
→ CLI (hcloud RDS) → [降级] → SDK (huaweicloudsdkrds.v3) → [降级] → API (REST)
→ 结果格式化 → 智能分析与建议Applicable Scenarios
适用场景
- Daily inspection: DBA checks instance health, resource usage, backup status
- SQL optimization: Developer/DBA analyzes slow SQL, gets optimization suggestions
- Fault troubleshooting: SRE/DBA diagnoses unreachable instances, high latency, connection exhaustion
- Parameter tuning: DBA adjusts database parameters for performance
- Backup recovery: DBA/Ops manages backup strategy, performs recovery drills
- Basic Q&A: Developer/Junior DBA asks about RDS features and best practices
- 日常巡检:DBA检查实例健康状态、资源使用情况、备份状态
- SQL优化:开发人员/DBA分析慢SQL,获取优化建议
- 故障排查:SRE/DBA诊断实例不可达、高延迟、连接耗尽等问题
- 参数调优:DBA调整数据库参数以提升性能
- 备份恢复:DBA/运维人员管理备份策略,执行恢复演练
- 基础问答:开发人员/初级DBA咨询RDS特性及最佳实践
Prerequisites
前提条件
- hcloud CLI installed and authenticated — Reference: https://support.huaweicloud.com/qs-hcli/hcli_02_003.html
- Python 3.8+ with package —
huaweicloudsdkrdspip install huaweicloudsdkrds - Huawei Cloud AK/SK environment variables (/
HUAWEI_ACCESS_KEYorHUAWEI_SECRET_KEY/HWC_AK)HWC_SK - Default region: (override with
cn-north-4)--cli-region - IAM permissions: RDS read/write permissions (see )
references/iam-policies.md
- hcloud CLI已安装并完成认证——参考:https://support.huaweicloud.com/qs-hcli/hcli_02_003.html
- **Python 3.8+**环境已安装包——
huaweicloudsdkrdspip install huaweicloudsdkrds - 华为云AK/SK环境变量已配置(/
HUAWEI_ACCESS_KEY或HUAWEI_SECRET_KEY/HWC_AK)HWC_SK - 默认区域:(可通过
cn-north-4覆盖)--cli-region - IAM权限:拥有RDS读写权限(详见)
references/iam-policies.md
Workflow
工作流程
1. Basic Q&A — Product Knowledge & Instance Query
1. 基础问答——产品知识与实例查询
bash
undefinedbash
undefinedList all RDS instances
列出所有RDS实例
hcloud RDS ListInstances --cli-region=cn-north-4
hcloud RDS ListInstances --cli-region=cn-north-4
List instances filtered by engine type
按引擎类型过滤实例
hcloud RDS ListInstances --cli-region=cn-north-4 --datastore_type=MySQL
hcloud RDS ListInstances --cli-region=cn-north-4 --datastore_type=MySQL
List available flavors for a specific engine
查询特定引擎的可用规格
hcloud RDS ListFlavors --cli-region=cn-north-4 --database_name=MySQL --version_name=8.0
hcloud RDS ListFlavors --cli-region=cn-north-4 --database_name=MySQL --version_name=8.0
List available database versions
查询可用数据库版本
hcloud RDS ListDatastores --cli-region=cn-north-4 --database_name=MySQL
hcloud RDS ListDatastores --cli-region=cn-north-4 --database_name=MySQL
Show available upgrade versions for an instance
查询实例的可用升级版本
hcloud RDS ShowAvailableVersion --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS ShowAvailableVersion --cli-region=cn-north-4 --instance_id={instance_id}
List engine flavors (available flavors for resizing)
查询引擎规格(用于调整实例规格的可用选项)
hcloud RDS ListEngineFlavors --cli-region=cn-north-4 --instance_id={instance_id} --ha_mode=ha --availability_zone_ids=cn-north-4a
hcloud RDS ListEngineFlavors --cli-region=cn-north-4 --instance_id={instance_id} --ha_mode=ha --availability_zone_ids=cn-north-4a
Show instance quotas
查询实例配额
hcloud RDS ShowQuotas --cli-region=cn-north-4
undefinedhcloud RDS ShowQuotas --cli-region=cn-north-4
undefined2. SQL Performance Optimization
2. SQL性能优化
bash
undefinedbash
undefinedQuery slow SQL logs (within last 30 days)
查询慢SQL日志(最近30天内)
hcloud RDS ListSlowLogs --cli-region=cn-north-4 --instance_id={instance_id}
--start_date=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_date=$(date +%Y-%m-%dT%H:%M:%S%z)
--start_date=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_date=$(date +%Y-%m-%dT%H:%M:%S%z)
hcloud RDS ListSlowLogs --cli-region=cn-north-4 --instance_id={instance_id}
--start_date=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_date=$(date +%Y-%m-%dT%H:%M:%S%z)
--start_date=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_date=$(date +%Y-%m-%dT%H:%M:%S%z)
Download slow log file
下载慢日志文件
hcloud RDS DownloadSlowlog --cli-region=cn-north-4 --instance_id={instance_id}
--file_name={file_name}
--file_name={file_name}
hcloud RDS DownloadSlowlog --cli-region=cn-north-4 --instance_id={instance_id}
--file_name={file_name}
--file_name={file_name}
Query TOP SQL statements
查询TOP SQL语句
hcloud RDS ListTopSqls --cli-region=cn-north-4 --instance_id={instance_id} --limit=10
hcloud RDS ListTopSqls --cli-region=cn-north-4 --instance_id={instance_id} --limit=10
Query historical TOP SQL
查询历史TOP SQL
hcloud RDS ListHistoryTopSqls --cli-region=cn-north-4 --instance_id={instance_id}
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000))
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000))
hcloud RDS ListHistoryTopSqls --cli-region=cn-north-4 --instance_id={instance_id}
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000))
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000))
Query historical wait events
查询历史等待事件
hcloud RDS ListHistoryWaitEvents --cli-region=cn-north-4 --instance_id={instance_id}
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000))
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000))
hcloud RDS ListHistoryWaitEvents --cli-region=cn-north-4 --instance_id={instance_id}
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000))
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000))
Query top objects (tables/indexes with high load)
查询高负载对象(高负载表/索引)
hcloud RDS ShowTopObjects --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS ShowTopObjects --cli-region=cn-north-4 --instance_id={instance_id}
Set SQL limit (control SQL concurrency)
设置SQL限流(控制SQL并发数)
hcloud RDS CreateSqlLimit --cli-region=cn-north-4 --instance_id={instance_id} --db_name={db_name} --max_concurrency=10 --max_waiting=5
undefinedhcloud RDS CreateSqlLimit --cli-region=cn-north-4 --instance_id={instance_id} --db_name={db_name} --max_concurrency=10 --max_waiting=5
undefined3. Daily O&M — Instance Management
3. 日常运维——实例管理
bash
undefinedbash
undefinedRestart instance
重启实例
hcloud RDS StartInstanceRestartAction --cli-region=cn-north-4 --instance_id={instance_id}
--restart.restart_server=true
--restart.restart_server=true
hcloud RDS StartInstanceRestartAction --cli-region=cn-north-4 --instance_id={instance_id}
--restart.restart_server=true
--restart.restart_server=true
Resize flavor (specification change)
调整实例规格
hcloud RDS StartResizeFlavorAction --cli-region=cn-north-4 --instance_id={instance_id} --resize_flavor.spec_code={spec_code}
hcloud RDS StartResizeFlavorAction --cli-region=cn-north-4 --instance_id={instance_id} --resize_flavor.spec_code={spec_code}
Enlarge disk volume
扩容磁盘
hcloud RDS StartInstanceEnlargeVolumeAction --cli-region=cn-north-4 --instance_id={instance_id}
--enlarge_volume.size=200
--enlarge_volume.size=200
hcloud RDS StartInstanceEnlargeVolumeAction --cli-region=cn-north-4 --instance_id={instance_id}
--enlarge_volume.size=200
--enlarge_volume.size=200
Reduce disk volume
缩容磁盘
hcloud RDS StartInstanceReduceVolumeAction --cli-region=cn-north-4 --instance_id={instance_id} --reduce_volume.size=100 --reduce_volume.is_delay=false
hcloud RDS StartInstanceReduceVolumeAction --cli-region=cn-north-4 --instance_id={instance_id} --reduce_volume.size=100 --reduce_volume.is_delay=false
Primary-standby switchover
主备切换
hcloud RDS StartFailover --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS StartFailover --cli-region=cn-north-4 --instance_id={instance_id}
Set read-only switch
设置只读切换
hcloud RDS SetReadOnlySwitch --cli-region=cn-north-4 --instance_id={instance_id} --readonly=true
hcloud RDS SetReadOnlySwitch --cli-region=cn-north-4 --instance_id={instance_id} --readonly=true
Update instance alias
更新实例别名
hcloud RDS UpdateInstanceAlias --cli-region=cn-north-4 --instance_id={instance_id} --alias=new_name
hcloud RDS UpdateInstanceAlias --cli-region=cn-north-4 --instance_id={instance_id} --alias=new_name
List tasks (async operation status)
查询任务列表(异步操作状态)
hcloud RDS ListTasks --cli-region=cn-north-4 --start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000))
hcloud RDS ListTasks --cli-region=cn-north-4 --start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000))
Show task detail
查询任务详情
hcloud RDS ShowTaskDetail --cli-region=cn-north-4 --instance_id={instance_id} --workflow_id={workflow_id} --workflow_name={workflow_name}
hcloud RDS ShowTaskDetail --cli-region=cn-north-4 --instance_id={instance_id} --workflow_id={workflow_id} --workflow_name={workflow_name}
Set auto disk expansion policy
设置自动磁盘扩容策略
hcloud RDS SetAutoEnlargePolicy --cli-region=cn-north-4 --instance_id={instance_id} --switch_option=true --limit_size=500 --trigger_threshold=15
hcloud RDS SetAutoEnlargePolicy --cli-region=cn-north-4 --instance_id={instance_id} --switch_option=true --limit_size=500 --trigger_threshold=15
Show auto disk expansion policy
查询自动磁盘扩容策略
hcloud RDS ShowAutoEnlargePolicy --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS ShowAutoEnlargePolicy --cli-region=cn-north-4 --instance_id={instance_id}
Show storage used space
查询存储使用空间
hcloud RDS ShowStorageUsedSpace --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS ShowStorageUsedSpace --cli-region=cn-north-4 --instance_id={instance_id}
List volume info
查询磁盘信息列表
hcloud RDS ListVolumeInfo --cli-region=cn-north-4 --instance_id={instance_id}
undefinedhcloud RDS ListVolumeInfo --cli-region=cn-north-4 --instance_id={instance_id}
undefined4. Fault Diagnosis & Troubleshooting
4. 故障诊断与排查
bash
undefinedbash
undefinedQuery error logs
查询错误日志
hcloud RDS ListErrorLogs --cli-region=cn-north-4 --instance_id={instance_id}
--start_date=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_date=$(date +%Y-%m-%dT%H:%M:%S%z)
--start_date=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_date=$(date +%Y-%m-%dT%H:%M:%S%z)
hcloud RDS ListErrorLogs --cli-region=cn-north-4 --instance_id={instance_id}
--start_date=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_date=$(date +%Y-%m-%dT%H:%M:%S%z)
--start_date=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_date=$(date +%Y-%m-%dT%H:%M:%S%z)
Query error logs (v3.1 enhanced)
查询错误日志(v3.1增强版)
hcloud RDS ListErrorLogsNew --cli-region=cn-north-4 --instance_id={instance_id}
--start_date=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_date=$(date +%Y-%m-%dT%H:%M:%S%z)
--start_date=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_date=$(date +%Y-%m-%dT%H:%M:%S%z)
hcloud RDS ListErrorLogsNew --cli-region=cn-north-4 --instance_id={instance_id}
--start_date=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_date=$(date +%Y-%m-%dT%H:%M:%S%z)
--start_date=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_date=$(date +%Y-%m-%dT%H:%M:%S%z)
Download error log file
下载错误日志文件
hcloud RDS DownloadErrorlog --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS DownloadErrorlog --cli-region=cn-north-4 --instance_id={instance_id}
Show replication status (primary-standby)
查询主备复制状态
hcloud RDS ShowReplicationStatus --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS ShowReplicationStatus --cli-region=cn-north-4 --instance_id={instance_id}
Show recovery time window (for point-in-time recovery)
查询恢复时间窗口(用于时间点恢复)
hcloud RDS ShowRecoveryTimeWindow --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS ShowRecoveryTimeWindow --cli-region=cn-north-4 --instance_id={instance_id}
List instance diagnosis results
查询实例诊断结果
hcloud RDS ListInstanceDiagnosis --cli-region=cn-north-4 --engine=mysql
hcloud RDS ListInstanceDiagnosis --cli-region=cn-north-4 --engine=mysql
List instance diagnosis info
查询实例诊断信息
hcloud RDS ListInstancesInfoDiagnosis --cli-region=cn-north-4 --engine=mysql --diagnosis=high_pressure
hcloud RDS ListInstancesInfoDiagnosis --cli-region=cn-north-4 --engine=mysql --diagnosis=high_pressure
Query historical sessions
查询历史会话
hcloud RDS ListHistorySessions --cli-region=cn-north-4 --instance_id={instance_id}
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000)) --limit=10 --offset=0
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000)) --limit=10 --offset=0
hcloud RDS ListHistorySessions --cli-region=cn-north-4 --instance_id={instance_id}
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000)) --limit=10 --offset=0
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000)) --limit=10 --offset=0
Intelligent kill session (kill problematic sessions)
智能终止会话(终止有问题的会话)
hcloud RDS CreateIntelligentKillSession --cli-region=cn-north-4 --instance_id={instance_id} --auto_add_sql_limit_rule=false
hcloud RDS CreateIntelligentKillSession --cli-region=cn-north-4 --instance_id={instance_id} --auto_add_sql_limit_rule=false
Show intelligent kill session history
查询智能终止会话历史
hcloud RDS ShowIntelligentKillSessionHistory --cli-region=cn-north-4 --instance_id={instance_id}
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000)) --page_num=1 --page_size=10
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000)) --page_num=1 --page_size=10
hcloud RDS ShowIntelligentKillSessionHistory --cli-region=cn-north-4 --instance_id={instance_id}
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000)) --page_num=1 --page_size=10
--start_time=$(($(date -d '7 days ago' +%s)*1000)) --end_time=$(($(date +%s)*1000)) --page_num=1 --page_size=10
Show second-level monitoring
查询秒级监控
hcloud RDS ShowSecondLevelMonitoring --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS ShowSecondLevelMonitoring --cli-region=cn-north-4 --instance_id={instance_id}
Validate instance connection (RDS for SQL Server only; requires user_info)
验证实例连接(仅适用于SQL Server版RDS;需传入user_info)
hcloud RDS ValidateInstanceConnection --cli-region=cn-north-4 --instance_id={instance_id}
--user_info.login_user_name=dbuser --user_info.login_user_password=***
--user_info.server_ip=1.2.3.4 --user_info.server_port=3306
--user_info.login_user_name=dbuser --user_info.login_user_password=***
--user_info.server_ip=1.2.3.4 --user_info.server_port=3306
undefinedhcloud RDS ValidateInstanceConnection --cli-region=cn-north-4 --instance_id={instance_id}
--user_info.login_user_name=dbuser --user_info.login_user_password=***
--user_info.server_ip=1.2.3.4 --user_info.server_port=3306
--user_info.login_user_name=dbuser --user_info.login_user_password=***
--user_info.server_ip=1.2.3.4 --user_info.server_port=3306
undefined5. Parameter Tuning
5. 参数调优
bash
undefinedbash
undefinedList all parameter groups
查询所有参数组
hcloud RDS ListConfigurations --cli-region=cn-north-4
hcloud RDS ListConfigurations --cli-region=cn-north-4
Show parameter group details
查询参数组详情
hcloud RDS ShowConfiguration --cli-region=cn-north-4 --config_id={config_id}
hcloud RDS ShowConfiguration --cli-region=cn-north-4 --config_id={config_id}
Show instance parameter configuration
查询实例参数配置
hcloud RDS ShowInstanceConfiguration --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS ShowInstanceConfiguration --cli-region=cn-north-4 --instance_id={instance_id}
Create parameter group
创建参数组
hcloud RDS CreateConfiguration --cli-region=cn-north-4
--name=custom_param_group --datastore.type=MySQL --datastore.version=8.0
--name=custom_param_group --datastore.type=MySQL --datastore.version=8.0
hcloud RDS CreateConfiguration --cli-region=cn-north-4
--name=custom_param_group --datastore.type=MySQL --datastore.version=8.0
--name=custom_param_group --datastore.type=MySQL --datastore.version=8.0
Update parameter group
更新参数组
hcloud RDS UpdateConfiguration --cli-region=cn-north-4 --config_id={config_id}
--values.max_connections=100
--values.max_connections=100
hcloud RDS UpdateConfiguration --cli-region=cn-north-4 --config_id={config_id}
--values.max_connections=100
--values.max_connections=100
Apply parameter group to instance (async)
向实例应用参数组(异步操作)
hcloud RDS ApplyConfigurationAsync --cli-region=cn-north-4 --config_id={config_id}
--instance_ids.1={instance_id}
--instance_ids.1={instance_id}
hcloud RDS ApplyConfigurationAsync --cli-region=cn-north-4 --config_id={config_id}
--instance_ids.1={instance_id}
--instance_ids.1={instance_id}
Update instance parameter directly
直接更新实例参数
hcloud RDS UpdateInstanceConfiguration --cli-region=cn-north-4 --instance_id={instance_id}
--values.max_connections=100
--values.max_connections=100
hcloud RDS UpdateInstanceConfiguration --cli-region=cn-north-4 --instance_id={instance_id}
--values.max_connections=100
--values.max_connections=100
List parameter change history
查询参数变更历史
hcloud RDS ListInstanceParamHistories --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS ListInstanceParamHistories --cli-region=cn-north-4 --instance_id={instance_id}
Compare parameter configurations
对比参数配置
hcloud RDS CompareConfiguration --cli-region=cn-north-4 --source_id={source_id} --target_id={target_id}
undefinedhcloud RDS CompareConfiguration --cli-region=cn-north-4 --source_id={source_id} --target_id={target_id}
undefined6. Backup & Recovery
6. 备份与恢复
bash
undefinedbash
undefinedShow backup policy
查询备份策略
hcloud RDS ShowBackupPolicy --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS ShowBackupPolicy --cli-region=cn-north-4 --instance_id={instance_id}
Set backup policy
设置备份策略
hcloud RDS SetBackupPolicy --cli-region=cn-north-4 --instance_id={instance_id}
--backup_policy.keep_days=7 --backup_policy.start_time=00:00-01:00 --backup_policy.period=1,2,3,4,5,6,7
--backup_policy.keep_days=7 --backup_policy.start_time=00:00-01:00 --backup_policy.period=1,2,3,4,5,6,7
hcloud RDS SetBackupPolicy --cli-region=cn-north-4 --instance_id={instance_id}
--backup_policy.keep_days=7 --backup_policy.start_time=00:00-01:00 --backup_policy.period=1,2,3,4,5,6,7
--backup_policy.keep_days=7 --backup_policy.start_time=00:00-01:00 --backup_policy.period=1,2,3,4,5,6,7
Show backup configuration
查询备份配置
hcloud RDS ShowBackupConfig --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS ShowBackupConfig --cli-region=cn-north-4 --instance_id={instance_id}
Change backup configuration
修改备份配置
hcloud RDS ChangeBackupConfig --cli-region=cn-north-4 --instance_id={instance_id} --default_backup_method=EBACKUP
hcloud RDS ChangeBackupConfig --cli-region=cn-north-4 --instance_id={instance_id} --default_backup_method=EBACKUP
List backups
查询备份列表
hcloud RDS ListBackups --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS ListBackups --cli-region=cn-north-4 --instance_id={instance_id}
Create manual backup
创建手动备份
hcloud RDS CreateManualBackup --cli-region=cn-north-4
--instance_id={instance_id} --name=manual_backup_20240101
--instance_id={instance_id} --name=manual_backup_20240101
hcloud RDS CreateManualBackup --cli-region=cn-north-4
--instance_id={instance_id} --name=manual_backup_20240101
--instance_id={instance_id} --name=manual_backup_20240101
Delete manual backup
删除手动备份
hcloud RDS DeleteManualBackup --cli-region=cn-north-4 --backup_id={backup_id}
hcloud RDS DeleteManualBackup --cli-region=cn-north-4 --backup_id={backup_id}
Batch delete manual backups
批量删除手动备份
hcloud RDS BatchDeleteManualBackup --cli-region=cn-north-4 --backup_ids.1={backup_id_1} --backup_ids.2={backup_id_2}
hcloud RDS BatchDeleteManualBackup --cli-region=cn-north-4 --backup_ids.1={backup_id_1} --backup_ids.2={backup_id_2}
Show backup download link
查询备份下载链接
hcloud RDS ShowBackupDownloadLink --cli-region=cn-north-4 --backup_id={backup_id}
hcloud RDS ShowBackupDownloadLink --cli-region=cn-north-4 --backup_id={backup_id}
Restore to new instance
恢复至新实例
hcloud RDS CreateRestoreInstance --cli-region=cn-north-4
--restore_point.backup_id={backup_id} --name=restored_instance --flavor_ref={flavor_id}
--availability_zone=cn-north-4a,cn-north-4g --volume.size=100 --volume.type=CLOUDSSD
--restore_point.backup_id={backup_id} --name=restored_instance --flavor_ref={flavor_id}
--availability_zone=cn-north-4a,cn-north-4g --volume.size=100 --volume.type=CLOUDSSD
hcloud RDS CreateRestoreInstance --cli-region=cn-north-4
--restore_point.backup_id={backup_id} --name=restored_instance --flavor_ref={flavor_id}
--availability_zone=cn-north-4a,cn-north-4g --volume.size=100 --volume.type=CLOUDSSD
--restore_point.backup_id={backup_id} --name=restored_instance --flavor_ref={flavor_id}
--availability_zone=cn-north-4a,cn-north-4g --volume.size=100 --volume.type=CLOUDSSD
注意: --password
与 KooCLI 系统参数同名冲突,无法直接传参。需用 echo 'b' |
管道选择"API参数"绕过,或用 --cli-jsonInput=jsonFile
传入整份 JSON body。恢复实例磁盘不能小于源实例(报 DBS.200073)。
--passwordecho 'b' |--cli-jsonInput=jsonFile注意: --password
与 KooCLI 系统参数同名冲突,无法直接传参。需用 echo 'b' |
管道选择"API参数"绕过,或用 --cli-jsonInput=jsonFile
传入整份 JSON body。恢复实例磁盘不能小于源实例(报 DBS.200073)。
--passwordecho 'b' |--cli-jsonInput=jsonFileRestore to existing instance
恢复至已有实例
hcloud RDS RestoreToExistingInstance --cli-region=cn-north-4 --target.instance_id={target_instance_id} --source.instance_id={source_instance_id} --source.backup_id={backup_id} --source.type=backup
hcloud RDS RestoreToExistingInstance --cli-region=cn-north-4 --target.instance_id={target_instance_id} --source.instance_id={source_instance_id} --source.backup_id={backup_id} --source.type=backup
Restore tables (table-level recovery)
恢复表(表级恢复)
hcloud RDS RestoreTables --cli-region=cn-north-4 --instance_id={instance_id} --restoreTables.1.database={db_name} --restoreTables.1.tables.1.oldName={old_table} --restoreTables.1.tables.1.newName={new_table} --restoreTime=$(($(date -d '1 day ago' +%s)*1000))
hcloud RDS RestoreTables --cli-region=cn-north-4 --instance_id={instance_id} --restoreTables.1.database={db_name} --restoreTables.1.tables.1.oldName={old_table} --restoreTables.1.tables.1.newName={new_table} --restoreTime=$(($(date -d '1 day ago' +%s)*1000))
List instance backup summary
查询实例备份汇总
hcloud RDS ListInstanceBackupSummary --cli-region=cn-north-4
hcloud RDS ListInstanceBackupSummary --cli-region=cn-north-4
Show backup usage (by engine)
查询备份使用情况(按引擎)
hcloud RDS ShowBackupUsage --cli-region=cn-north-4 --engine=MySQL
undefinedhcloud RDS ShowBackupUsage --cli-region=cn-north-4 --engine=MySQL
undefined7. Security Management
7. 安全管理
bash
undefinedbash
undefinedSet security group
设置安全组
hcloud RDS SetSecurityGroup --cli-region=cn-north-4 --instance_id={instance_id}
--security_group_id={sg_id}
--security_group_id={sg_id}
hcloud RDS SetSecurityGroup --cli-region=cn-north-4 --instance_id={instance_id}
--security_group_id={sg_id}
--security_group_id={sg_id}
Switch SSL configuration
切换SSL配置
hcloud RDS SwitchSsl --cli-region=cn-north-4 --instance_id={instance_id} --ssl_option=true
hcloud RDS SwitchSsl --cli-region=cn-north-4 --instance_id={instance_id} --ssl_option=true
List audit logs
查询审计日志列表
hcloud RDS ListAuditlogs --cli-region=cn-north-4 --instance_id={instance_id}
--start_time=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_time=$(date +%Y-%m-%dT%H:%M:%S%z) --limit=10 --offset=0
--start_time=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_time=$(date +%Y-%m-%dT%H:%M:%S%z) --limit=10 --offset=0
hcloud RDS ListAuditlogs --cli-region=cn-north-4 --instance_id={instance_id}
--start_time=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_time=$(date +%Y-%m-%dT%H:%M:%S%z) --limit=10 --offset=0
--start_time=$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z) --end_time=$(date +%Y-%m-%dT%H:%M:%S%z) --limit=10 --offset=0
Show audit log policy
查询审计日志策略
hcloud RDS ShowAuditlogPolicy --cli-region=cn-north-4 --instance_id={instance_id}
hcloud RDS ShowAuditlogPolicy --cli-region=cn-north-4 --instance_id={instance_id}
Set audit log policy
设置审计日志策略
hcloud RDS SetAuditlogPolicy --cli-region=cn-north-4 --instance_id={instance_id} --keep_days=30 --audit_types.1=CREATE_USER
hcloud RDS SetAuditlogPolicy --cli-region=cn-north-4 --instance_id={instance_id} --keep_days=30 --audit_types.1=CREATE_USER
Show audit log download link
查询审计日志下载链接
hcloud RDS ShowAuditlogDownloadLink --cli-region=cn-north-4 --instance_id={instance_id} --ids.1={auditlog_id}
---hcloud RDS ShowAuditlogDownloadLink --cli-region=cn-north-4 --instance_id={instance_id} --ids.1={auditlog_id}
---KooCLI Command Format Standard
KooCLI命令格式规范
bash
hcloud RDS <Operation> --cli-region=<region> [--key=value ...]| Feature | Description | Example |
|---|---|---|
| Service name | | |
| Operation name | PascalCase | |
| Region parameter | | |
| Simple parameter | | |
| Indexed parameter | | |
| Nested object parameter | | |
注意: hcloud CLI 的 body/嵌套参数不支持整体 JSON 传参(会报--param='{"k":"v"}')。必须按仅支持参数 X 的值为 {} 或 []拆分传参。数组用下标--parent.child=value。--instance_ids.1=xxx
bash
hcloud RDS <Operation> --cli-region=<region> [--key=value ...]| 特性 | 描述 | 示例 |
|---|---|---|
| 服务名称 | | |
| 操作名称 | 大驼峰命名(PascalCase) | |
| 区域参数 | | |
| 简单参数 | | |
| 索引参数 | | |
| 嵌套对象参数 | | |
注意: hcloud CLI 的body/嵌套参数不支持整体JSON传参(会报--param='{"k":"v"}')。必须按仅支持参数 X 的值为 {} 或 []拆分传参。数组用下标--parent.child=value。--instance_ids.1=xxx
SDK Fallback (Python)
SDK降级(Python)
When CLI is unavailable, use the Python SDK:
python
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcore.http.http_config import HttpConfig
from huaweicloudsdkrds.v3.rds_client import RdsClient
from huaweicloudsdkrds.v3.model.list_instances_request import ListInstancesRequest
credentials = BasicCredentials() \
.with_ak(os.environ.get('HUAWEI_ACCESS_KEY')) \
.with_sk(os.environ.get('HUAWEI_SECRET_KEY')) \
.with_project_id('{project_id}')
client = RdsClient.new_builder() \
.with_credentials(credentials) \
.with_region(HwRegion.CN_NORTH_4) \
.build()
request = ListInstancesRequest()
response = client.list_instances(request)
print(response)当CLI不可用时,可使用Python SDK:
python
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcore.http.http_config import HttpConfig
from huaweicloudsdkrds.v3.rds_client import RdsClient
from huaweicloudsdkrds.v3.model.list_instances_request import ListInstancesRequest
credentials = BasicCredentials() \
.with_ak(os.environ.get('HUAWEI_ACCESS_KEY')) \
.with_sk(os.environ.get('HUAWEI_SECRET_KEY')) \
.with_project_id('{project_id}')
client = RdsClient.new_builder() \
.with_credentials(credentials) \
.with_region(HwRegion.CN_NORTH_4) \
.build()
request = ListInstancesRequest()
response = client.list_instances(request)
print(response)API Fallback (REST)
API降级(REST)
When both CLI and SDK are unavailable, use REST API directly:
bash
curl -X GET "https://rds.cn-north-4.myhuaweicloud.com/v3/{project_id}/instances" \
-H "X-Auth-Token: {token}" \
-H "Content-Type: application/json"当CLI和SDK均不可用时,可直接使用REST API:
bash
curl -X GET "https://rds.cn-north-4.myhuaweicloud.com/v3/{project_id}/instances" \
-H "X-Auth-Token: {token}" \
-H "Content-Type: application/json"Core Commands
核心命令
| Command | Purpose | Mode |
|---|---|---|
| List all RDS instances | CLI |
| List available flavors | CLI |
| List database versions | CLI |
| Query slow SQL logs | CLI |
| Query TOP SQL | CLI |
| Query error logs | CLI |
| Check replication status | CLI |
| Instance diagnosis | CLI |
| List parameter groups | CLI |
| Show instance parameters | CLI |
| List backups | CLI |
| Show backup policy | CLI |
| Create manual backup | CLI |
| Restore to new instance | CLI |
| Modify security group | CLI |
| Configure SSL | CLI |
| List audit logs | CLI |
| 命令 | 用途 | 模式 |
|---|---|---|
| 列出所有RDS实例 | CLI |
| 列出可用规格 | CLI |
| 列出数据库版本 | CLI |
| 查询慢SQL日志 | CLI |
| 查询TOP SQL | CLI |
| 查询错误日志 | CLI |
| 检查复制状态 | CLI |
| 实例诊断 | CLI |
| 列出参数组 | CLI |
| 查看实例参数 | CLI |
| 列出备份 | CLI |
| 查看备份策略 | CLI |
| 创建手动备份 | CLI |
| 恢复至新实例 | CLI |
| 修改安全组 | CLI |
| 配置SSL | CLI |
| 列出审计日志 | CLI |
参数确认 (Parameter Confirmation)
参数确认 (Parameter Confirmation)
| Parameter | Required | Description | Example |
|---|---|---|---|
| Yes | Huawei Cloud region | |
| Yes (most ops) | RDS instance ID | |
| Auto | Project ID (auto from credentials) | Auto |
| No | Filter by engine type | |
| Yes (param ops) | Parameter group ID | |
| Yes (backup ops) | Backup ID | |
| Yes (resize) | Target flavor spec code | |
| Yes (log ops) | Date range (ISO 8601, only last 30 days) | |
| Yes (disk ops) | Target disk size in GB | |
| 参数 | 是否必填 | 描述 | 示例 |
|---|---|---|---|
| 是 | 华为云区域 | |
| 是(多数操作) | RDS实例ID | |
| 自动获取 | 项目ID(从凭证自动获取) | 自动 |
| 否 | 按引擎类型过滤 | |
| 是(参数操作) | 参数组ID | |
| 是(备份操作) | 备份ID | |
| 是(规格调整) | 目标规格编码 | |
| 是(日志操作) | 日期范围(ISO 8601格式,仅支持最近30天) | |
| 是(磁盘操作) | 目标磁盘大小(GB) | |
Mutating Operations Requiring User Confirmation
需要用户确认的变更操作
The following operations modify RDS resources and must prompt the user for explicit confirmation before execution:
- Instance: Restart, Resize, Disk Expand/Reduce, Failover, Stop(删除实例属高风险操作,本技能不支持,请通过华为云控制台操作)
- Backup: Create Manual Backup, Delete Backup, Restore Instance
- Parameter: Create/Update/Delete Configuration, Apply Configuration, Update Instance Parameter
- Security: Set Security Group, Switch SSL, Set Audit Log Policy
- Session: Intelligent Kill Session
以下操作会修改RDS资源,必须在执行前提示用户明确确认:
- 实例操作:重启、规格调整、磁盘扩容/缩容、主备切换、停止(删除实例属于高风险操作,本技能不支持,请通过华为云控制台操作)
- 备份操作:创建手动备份、删除备份、恢复实例
- 参数操作:创建/更新/删除参数组、应用参数组、更新实例参数
- 安全操作:设置安全组、切换SSL、设置审计日志策略
- 会话操作:智能终止会话
输出格式 (Output Format)
输出格式 (Output Format)
All command outputs are returned as structured JSON. The skill formats results into readable tables and provides intelligent analysis:
所有命令输出均以结构化JSON返回。本技能会将结果格式化为易读的表格,并提供智能分析:
CLI Output
CLI输出
json
{
"instances": [
{"id": "rds-xxxxx", "name": "my-db", "status": "ACTIVE", "type": "Single", "engine": "MySQL"}
]
}json
{
"instances": [
{"id": "rds-xxxxx", "name": "my-db", "status": "ACTIVE", "type": "Single", "engine": "MySQL"}
]
}Analysis Output
分析输出
| Field | Description |
|---|---|
| Instance health status (ACTIVE/FAILED/BUILD) |
| Suggested action based on analysis |
| Risk assessment (low/medium/high) |
| 字段 | 描述 |
|---|---|
| 实例健康状态(ACTIVE/FAILED/BUILD) |
| 基于分析给出的建议操作 |
| 风险评估(低/中/高) |
验证方法 (Verification)
验证方法 (Verification)
- CLI verification: Run and confirm JSON output
hcloud RDS ListInstances --cli-region=cn-north-4 - SDK verification: Execute Python SDK snippet and check
response.status_code == 200 - API verification: Send REST request and verify response with valid JSON body
200 OK - End-to-end: Create a test instance, query its status, then clean up
- Reference: See Verification Method for detailed test procedures
- CLI验证:执行并确认JSON输出
hcloud RDS ListInstances --cli-region=cn-north-4 - SDK验证:运行Python SDK代码片段,检查
response.status_code == 200 - API验证:发送REST请求,验证返回及有效JSON体
200 OK - 端到端验证:创建测试实例,查询其状态,然后清理资源
- 参考文档:详见验证方法中的详细测试流程
Reference Documents
参考文档
- IAM Policies — Least-privilege IAM policies for RDS operations
- Verification Method — Verification and testing methodology
- Dataflow Diagram — Mermaid data flow diagram
- Acceptance Criteria — Acceptance criteria for the skill
- CLI Installation Guide — CLI installation and configuration
- API Paths — REST API paths verified from SDK source
- RDS Troubleshooting Guide — Common fault diagnosis procedures
- SQL Optimization Guide — SQL performance optimization methodology
- IAM策略 — RDS操作的最小权限IAM策略
- 验证方法 — 验证与测试方法论
- 数据流图 — Mermaid格式的数据流图
- 验收标准 — 本技能的验收标准
- CLI安装指南 — CLI安装与配置说明
- API路径 — 从SDK源码中验证的REST API路径
- RDS故障排查指南 — 常见故障诊断流程
- SQL优化指南 — SQL性能优化方法论
Best Practices
最佳实践
- Always specify explicitly to avoid region confusion
--cli-region - Use filter when listing instances to narrow results
--datastore_type - For slow log analysis, limit date range to 7 days for performance
- Before resizing, check available flavors with
ListEngineFlavors - Before restoring, verify recovery time window with
ShowRecoveryTimeWindow - Parameter changes should be tested on non-production instances first
- Backup deletion is irreversible — always verify backup ID before deletion
- Use audit logs for compliance and security investigation
- 始终显式指定以避免区域混淆
--cli-region - 列出实例时使用过滤以缩小结果范围
--datastore_type - 慢日志分析时,将日期范围限制在7天内以提升性能
- 调整规格前,使用查询可用规格
ListEngineFlavors - 恢复前,使用验证恢复时间窗口
ShowRecoveryTimeWindow - 参数变更应先在非生产实例上测试
- 备份删除不可恢复——删除前务必验证备份ID
- 使用审计日志进行合规性检查与安全调查
Notes
注意事项
- All mutating operations (Create/Update/Delete/Restart/Resize/Restore) require explicit user confirmation
- Credentials (AK/SK) are read from environment variables; hardcoding is prohibited
- CLI is the primary execution mode; SDK and API are fallbacks for unavailable CLI commands
- Date format: log commands (/
--start_date) use ISO 8601 with timezone offset (e.g.,--end_date); task commands (2026-08-04T00:00:00+0800/--start_time) use UTC epoch milliseconds--end_time - 日志/慢SQL 查询仅支持查询当前时间前一个月内的数据。日期格式使用带时区偏移的 ISO 8601(如 ),用
2026-08-04T00:00:00+0800动态生成;注意不要使用 UTC 的$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z)结尾(Z),实测会导致...T00:00:00Z报错。DBS.01010023/ListTasks等任务类命令的ListHistory*/--start_time需传 UTC 毫秒时间戳(--end_time)。不要照抄过期的静态示例日期$(($(date -d '7 days ago' +%s)*1000)) - Slow log queries are limited to the last 30 days
- The skill supports all RDS engines: MySQL, PostgreSQL, SQL Server, MariaDB, GaussDB(for MySQL), TaurusDB
- Engine capability limits (MySQL) — the following read commands return (Operation not allowed by the DB engine) on MySQL; they are supported on other engines only, and are not defects in the skill:
DBS.280343,ListTopSqls,ShowTopObjects,ListVolumeInfo,ShowAvailableVersion(SQL Server only),ValidateInstanceConnection,ListHistoryTopSqls,ListHistorySessions.ListHistoryWaitEvents/ShowBackupConfigalso returnShowRecoveryTimeWindow/DBS.280238on MySQL.DBS.280235 - Whitelist permission limits — /
ListInstanceBackupSummaryreturnShowBackupUsage(domain not in whitelist); these require whitelist activation from Huawei Cloud.DBS.01280003 - requires single AZ (
ListEngineFlavors); comma-separated multi-AZ returns--availability_zone_ids=cn-north-4a.DBS.280244
- 所有变更操作(创建/更新/删除/重启/调整规格/恢复)均需用户明确确认
- 凭证(AK/SK)从环境变量读取;禁止硬编码
- CLI为主要执行模式;SDK和API为CLI不可用时的降级方案
- 日期格式:日志命令(/
--start_date)使用带时区偏移的ISO 8601格式(如--end_date);任务命令(2026-08-04T00:00:00+0800/--start_time)使用UTC毫秒时间戳--end_time - 日志/慢SQL 查询仅支持查询当前时间前一个月内的数据。日期格式使用带时区偏移的 ISO 8601(如 ),用
2026-08-04T00:00:00+0800动态生成;注意不要使用 UTC 的$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z)结尾(Z),实测会导致...T00:00:00Z报错。DBS.01010023/ListTasks等任务类命令的ListHistory*/--start_time需传 UTC 毫秒时间戳(--end_time)。不要照抄过期的静态示例日期$(($(date -d '7 days ago' +%s)*1000)) - 慢日志查询限制为最近30天
- 本技能支持所有RDS引擎:MySQL、PostgreSQL、SQL Server、MariaDB、GaussDB(for MySQL)、TaurusDB
- 引擎能力限制(MySQL) — 以下查询命令在MySQL上会返回(数据库引擎不允许此操作);这些命令仅在其他引擎上支持,不属于本技能缺陷:
DBS.280343、ListTopSqls、ShowTopObjects、ListVolumeInfo、ShowAvailableVersion(仅SQL Server支持)、ValidateInstanceConnection、ListHistoryTopSqls、ListHistorySessions。ListHistoryWaitEvents/ShowBackupConfig在MySQL上也会返回ShowRecoveryTimeWindow/DBS.280238。DBS.280235 - 白名单权限限制 — /
ListInstanceBackupSummary会返回ShowBackupUsage(域名不在白名单中);这些功能需要向华为云申请白名单激活。DBS.01280003 - 需要指定单个可用区(
ListEngineFlavors);逗号分隔的多可用区会返回--availability_zone_ids=cn-north-4a。DBS.280244