Loading...
Loading...
Huawei Cloud RDS (Relational Database Service) full-scenario intelligent service covering all database engines (MySQL, PostgreSQL, SQL Server, MariaDB, GaussDB for MySQL, TaurusDB). Provides six capability domains: (1) Basic intelligent Q&A for RDS product features, best practices, and specifications; (2) SQL statement performance optimization with slow log analysis, top SQL, execution plan guidance, and index recommendations; (3) Database instance daily O&M including health inspection, restart, flavor resize, disk expansion, primary-standby switchover, and read replica management; (4) Online fault localization and troubleshooting via error logs, replication status, connection diagnostics, and recovery time window; (5) Parameter tuning with parameter group management, modification suggestions, and performance parameter adjustment guidance; (6) Backup and recovery guidance including backup policy management, manual backup creation, restore to new/existing instance, and point-in-time recovery. Uses CLI→SDK→API three-level fallback for maximum compatibility. All mutating operations require explicit user confirmation. Triggers include: "RDS","关系型数据库","数据库实例","慢SQL","SQL优化","数据库运维","数据库故障","故障排查","参数调优","备份恢复","数据库巡检","RDS诊断","数据库诊断","DBA","数据库性能","主从延迟","连接数","数据库备份","数据恢复","RDS智能服务","database instance","RDS troubleshooting","slow query","SQL performance","database backup","parameter tuning","RDS ops","database diagnose".
npx skill4agent add huaweicloud/huaweicloud-skills huawei-cloud-rds-smart-serviceFull-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.
| 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 |
User Request → Skill Trigger Matching → Capability Domain Routing
→ CLI (hcloud RDS) → [fallback] → SDK (huaweicloudsdkrds.v3) → [fallback] → API (REST)
→ Result Formatting → Intelligent Analysis & Recommendationshuaweicloudsdkrdspip install huaweicloudsdkrdsHUAWEI_ACCESS_KEYHUAWEI_SECRET_KEYHWC_AKHWC_SKcn-north-4--cli-regionreferences/iam-policies.md# List all RDS instances
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
# List available flavors for a specific engine
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
# Show available upgrade versions for an instance
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
# Show instance quotas
hcloud RDS ShowQuotas --cli-region=cn-north-4# Query slow SQL logs (within last 30 days)
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)
# Download slow log file
hcloud RDS DownloadSlowlog --cli-region=cn-north-4 --instance_id={instance_id} \
--file_name={file_name}
# Query TOP SQL statements
hcloud RDS ListTopSqls --cli-region=cn-north-4 --instance_id={instance_id} --limit=10
# Query historical 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))
# 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))
# Query top objects (tables/indexes with high load)
hcloud RDS ShowTopObjects --cli-region=cn-north-4 --instance_id={instance_id}
# Set SQL limit (control SQL concurrency)
hcloud RDS CreateSqlLimit --cli-region=cn-north-4 --instance_id={instance_id} --db_name={db_name} --max_concurrency=10 --max_waiting=5# Restart instance
hcloud RDS StartInstanceRestartAction --cli-region=cn-north-4 --instance_id={instance_id} \
--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}
# Enlarge disk volume
hcloud RDS StartInstanceEnlargeVolumeAction --cli-region=cn-north-4 --instance_id={instance_id} \
--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
# Primary-standby switchover
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
# Update instance alias
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))
# Show task detail
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
# Show auto disk expansion policy
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}
# List volume info
hcloud RDS ListVolumeInfo --cli-region=cn-north-4 --instance_id={instance_id}# Query 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)
# Query error logs (v3.1 enhanced)
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)
# Download error log file
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}
# Show recovery time window (for point-in-time recovery)
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
# List instance diagnosis info
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
# Intelligent kill session (kill problematic sessions)
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
# Show second-level monitoring
hcloud RDS ShowSecondLevelMonitoring --cli-region=cn-north-4 --instance_id={instance_id}
# Validate instance connection (RDS for SQL Server only; requires 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# List all parameter groups
hcloud RDS ListConfigurations --cli-region=cn-north-4
# Show parameter group details
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}
# Create parameter group
hcloud RDS CreateConfiguration --cli-region=cn-north-4 \
--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
# Apply parameter group to instance (async)
hcloud RDS ApplyConfigurationAsync --cli-region=cn-north-4 --config_id={config_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
# List parameter change history
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}# Show backup policy
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
# Show backup configuration
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
# List backups
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
# Delete manual backup
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}
# Show backup download link
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
# 注意: `--password` 与 KooCLI 系统参数同名冲突,无法直接传参。需用 `echo 'b' |` 管道选择"API参数"绕过,或用 `--cli-jsonInput=jsonFile` 传入整份 JSON body。恢复实例磁盘不能小于源实例(报 DBS.200073)。
# Restore 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
# 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))
# List instance backup summary
hcloud RDS ListInstanceBackupSummary --cli-region=cn-north-4
# Show backup usage (by engine)
hcloud RDS ShowBackupUsage --cli-region=cn-north-4 --engine=MySQL# Set security group
hcloud RDS SetSecurityGroup --cli-region=cn-north-4 --instance_id={instance_id} \
--security_group_id={sg_id}
# Switch SSL configuration
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
# Show audit log policy
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
# Show audit log download link
hcloud RDS ShowAuditlogDownloadLink --cli-region=cn-north-4 --instance_id={instance_id} --ids.1={auditlog_id}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
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)curl -X GET "https://rds.cn-north-4.myhuaweicloud.com/v3/{project_id}/instances" \
-H "X-Auth-Token: {token}" \
-H "Content-Type: application/json"| 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 |
| 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 | |
{
"instances": [
{"id": "rds-xxxxx", "name": "my-db", "status": "ACTIVE", "type": "Single", "engine": "MySQL"}
]
}| Field | Description |
|---|---|
| Instance health status (ACTIVE/FAILED/BUILD) |
| Suggested action based on analysis |
| Risk assessment (low/medium/high) |
hcloud RDS ListInstances --cli-region=cn-north-4response.status_code == 200200 OK--cli-region--datastore_typeListEngineFlavorsShowRecoveryTimeWindow--start_date--end_date2026-08-04T00:00:00+0800--start_time--end_time2026-08-04T00:00:00+0800$(date -d '7 days ago' +%Y-%m-%dT00:00:00%z)Z...T00:00:00ZDBS.01010023ListTasksListHistory*--start_time--end_time$(($(date -d '7 days ago' +%s)*1000))DBS.280343ListTopSqlsShowTopObjectsListVolumeInfoShowAvailableVersionValidateInstanceConnectionListHistoryTopSqlsListHistorySessionsListHistoryWaitEventsShowBackupConfigShowRecoveryTimeWindowDBS.280238DBS.280235ListInstanceBackupSummaryShowBackupUsageDBS.01280003ListEngineFlavors--availability_zone_ids=cn-north-4aDBS.280244