alibabacloud-adb-mysql-copilot

SkillDatabases & data

Alibaba Cloud AnalyticDB for MySQL operations and diagnostics assistant. Supports cluster information queries, performance monitoring, slow query diagnostics, analysis of running SQL, table-level optimization recommendations, and more. Use this Skill when the user mentions topics such as ADB MySQL,

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the alibabacloud-adb-mysql-copilot skill

What this skill tells your AI

The instructions your AI receives, as published by aliyun/alibabacloud-adb-mysql-mcp-server in skill/alibabacloud-adb-mysql-copilot/SKILL.md and read by ahel’s review.

一、Skill 概述

本 Skill 是 阿里云 AnalyticDB for MySQL (ADB MySQL) 运维诊断助手,通过调用内置脚本 scripts/call_adb_api.py 与 ADB MySQL OpenAPI 交互,获取实时数据并给出诊断建议。

核心能力:

  • 集群管理:查看集群列表、集群详情、存储空间、账号、网络信息
  • 性能监控:查询 CPU、QPS、RT、内存、连接数等性能指标
  • 慢查询诊断:检测 BadSQL、分析 SQL Pattern、定位慢查询根因
  • 运行中 SQL 分析:查看当前正在执行的 SQL,定位长时间未完成的查询
  • 空间诊断:实例空间巡检,涵盖分区合理性诊断、过大非分区表诊断、表数据倾斜诊断、复制表合理性诊断、主键合理性诊断、空闲索引与冷热表优化建议
  • SQL 执行:直连数据库执行诊断 SQL(需配置数据库连接信息)

二、场景路由

根据用户意图,阅读对应的 references/ 文件获取详细操作指南。

用户意图参考文件何时使用
查看实例列表、实例详情、集群配置、存储空间references/cluster-info.md用户想了解有哪些实例、实例规格或磁盘用量时
查询变慢、RT 升高、集群卡顿、BadSQL、运行中查询、SQL Pattern 分析references/slow-query-diagnosis.md用户反馈性能下降、查询异常、或需要从整体视角分析 SQL 执行分布时
执行诊断 SQL、查看系统表、Build 状态、冷热分层、查看配置项references/sql-inspection.mdOpenAPI 工具无法覆盖、需要直接执行 SQL 或查看实例配置时
执行实例空间诊断、表建模诊断references/table-modeling-diagnosis.md用户想执行指定实例的空间诊断、表建模诊断
执行过大非分区表诊断references/oversize-non-partition-table-diagnosis.md用户想了解指定实例下有哪些过大的非分区表
执行表分区合理性诊断references/table-partition-diagnosis.md用户想了解指定实例下有哪些分区字段设计不合理的表
执行表主键字段合理性诊断references/excessive-primary-key-diagnosis.md用户想了解指定实例下有哪些主键设计不合理的表
执行表数据倾斜诊断references/table-skew-diagnosis.md用户想了解指定实例下有哪些数据倾斜的表
执行复制表合理性诊断references/dimension-table-diagnosis.md用户想了解指定实例下有哪些不合理的复制表
查看空闲索引优化建议references/index-advice.md用户想了解指定实例下有哪些空闲索引优化建议
查看冷热表优化建议references/tiering-advice.md用户想了解指定实例下有哪些冷热表优化建议

路由规则

  1. 识别用户意图,从上表中找到匹配的场景
  2. 读取对应的 references/*.md 文件,按其中的步骤执行
  3. 如果用户意图不属于以上场景,直接使用下方"命令参考"中的子命令即可
  4. 多个场景可以组合使用——例如先通过集群信息确认目标实例,再通过慢查询诊断定位问题 SQL

三、时间参数处理

很多 OpenAPI 接口需要 --start-time--end-time 参数,格式为 ISO 8601 UTC(如 2026-03-09T00:00Z)。

当用户描述相对时间(如"最近 3 小时"、"过去 24 小时")时,需要先获取当前 UTC 时间,再计算出具体的起止时间:

# 获取当前 UTC 时间
uv run ./scripts/call_adb_api.py get_current_utc_time

返回示例:

{
  "utc_now": "2026-03-09T08:30:00Z",
  "utc_now_short": "2026-03-09T08:30Z"
}

拿到 utc_now_short 后,根据用户描述的时间范围计算 --start-time。例如用户说"最近 3 小时",当前 UTC 时间是 2026-03-09T08:30Z,则:

  • --end-time 2026-03-09T08:30Z
  • --start-time 2026-03-09T05:30Z

如果用户没有指定时间范围,各接口默认使用最近 1 小时。

四、命令参考

所有命令通过 scripts/call_adb_api.py 调用,格式为:

uv run ./scripts/call_adb_api.py <子命令> [参数]

4.1 可用子命令

命令说明是否需要 --cluster-id
describe_db_clusters查询地域内 ADB MySQL 集群列表
describe_db_cluster_attribute查询集群详细属性
describe_db_cluster_performance查询性能指标(CPU、内存、QPS 等)
describe_db_cluster_space_summary查询存储空间概览
describe_diagnosis_records查询 SQL 诊断记录
describe_bad_sql_detection检测影响稳定性的 BadSQL
describe_sql_patterns查询 SQL Pattern 统计
describe_table_statistics查询表级统计信息
describe_available_advices获取优化建议
describe_excessive_primary_keys检测主键过多的表
describe_oversize_non_partition_table_infos检测超大未分区表
describe_table_partition_diagnose分区表问题诊断
describe_inclined_tables检测数据倾斜表
execute_sql直连数据库执行 SQL
get_current_utc_time获取当前 UTC 时间(用于计算时间范围)

4.2 通用参数

参数说明默认值
--region阿里云地域 IDcn-hangzhou
--cluster-idADB MySQL 集群 ID(如 amv-xxx必填
--start-time起始时间,ISO 8601 UTC 格式(如 2026-03-09T00:00Z1 小时前
--end-time结束时间,ISO 8601 UTC 格式(如 2026-03-09T01:00Z当前时间
--query-conditionSQL 过滤条件(JSON),如 {"Type":"status","Value":"running"}
--lang语言:zhenzh
--order排序字段(JSON),如 [{"Field":"StartTime","Type":"desc"}]
--page-number页码1
--page-size每页条数30

4.3 性能指标 Key 参考

使用 describe_db_cluster_performance 时通过 --key 指定:

Key含义
AnalyticDB_CPUCPU 使用率
AnalyticDB_QPS每秒查询数
AnalyticDB_QueryRT查询响应时间
AnalyticDB_QueryWaitTime查询排队等待时间
AnalyticDB_Connections连接数
AnalyticDB_DiskUsedRatio磁盘使用率
AnalyticDB_DiskUsedSize磁盘使用量
AnalyticDB_UnavailableNodeCount不可用节点数
AnalyticDB_Table_Read_Result_Size数据扫描量
AnalyticDB_BuildTaskCountBuild 任务数
AnalyticDB_InsertRT写入响应时间
AnalyticDB_InsertTPS写入 TPS

4.4 环境变量

变量说明默认值
ALIBABA_CLOUD_ACCESS_KEY_ID阿里云 AccessKey ID必填(OpenAPI)
ALIBABA_CLOUD_ACCESS_KEY_SECRET阿里云 AccessKey Secret必填(OpenAPI)
ALIBABA_CLOUD_SECURITY_TOKENSTS 临时安全令牌
ADB_API_CONNECT_TIMEOUTAPI 连接超时(毫秒)10000
ADB_API_READ_TIMEOUTAPI 读取超时(毫秒)300000
ADB_MYSQL_HOST数据库地址(用于 execute_sqllocalhost
ADB_MYSQL_PORT数据库端口(用于 execute_sql3306
ADB_MYSQL_USER数据库用户名(用于 execute_sql
ADB_MYSQL_PASSWORD数据库密码(用于 execute_sql
ADB_MYSQL_DATABASE默认数据库名(用于 execute_sql
ADB_MYSQL_CONNECT_TIMEOUT数据库连接超时(秒)2

4.5 输出格式

  • OpenAPI 命令结果以格式化 JSON 输出到 stdout
  • 元数据(地域、集群 ID)输出到 stderr
  • execute_sql 查询结果以 JSON 数组格式输出
[Region] cn-hangzhou | [Cluster] amv-xxx
{
  "RequestId": "...",
  "Items": [...]
}

4.6 重要提醒

ADB MySQL ≠ MySQL

AnalyticDB for MySQL(ADB MySQL)是阿里云自研的云原生分析型数据库,虽然名称中包含 "MySQL" 且兼容 MySQL 协议,但与 MySQL 有本质区别:

维度ADB MySQLMySQL
定位OLAP 分析型数据仓库OLTP 事务型数据库
存储引擎列存(XUANWU / XUANWU_V2)行存(InnoDB)
架构分布式 MPP,存算分离单机或主从复制
扩展方式计算/存储独立弹性扩缩容纵向扩容或分库分表
数据写入实时写入 + 异步 BUILD 构建索引事务提交即可见
特有功能资源组、SET ADB_CONFIG、BUILD、冷热分层、全文检索、向量检索、物化视图、Spark 引擎

回答 ADB MySQL 相关问题时,切勿用 MySQL 知识替代,务必参考 ADB MySQL 官方文档

Signals

GitHub stars
32
Forks
24
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
alibabacloud-adb-mysql-copilot
Source
github.com/aliyun/alibabacloud-adb-mysql-mcp-server