Agent Skills
› anybackup-ai/Anybackup
› foundation-cli-mysql
foundation-cli-mysql
GitHub用于处理 Foundation CLI MySQL 相关操作,包括对象管理、备份与恢复配置及任务查询。通过判断意图并映射命令,辅助 Agent 构造正确的 CLI 指令。
Trigger Scenarios
用户需要查询或管理 MySQL 对象实例
用户需要创建或查看备份/恢复配置
用户需要执行 MySQL 数据源授权或恢复操作
Install
npx skills add anybackup-ai/Anybackup --skill foundation-cli-mysql -g -y
SKILL.md
Frontmatter
{
"name": "foundation-cli-mysql",
"metadata": {
"cliHelp": "foundation-cli mysql --help",
"requires": {
"bins": [
"foundation-cli"
]
}
},
"description": "当用户需要通过 `foundation-cli mysql` 执行 MySQL 对象、时间点数据源、执行备份方案创建、备份配置、恢复配置或者发起恢复、恢复时间点、任务详情或授权相关命令时使用。"
}
Foundation CLI MySQL 技能
当任务属于 foundation-cli mysql 域命令时,使用本技能。
本文档是入口,不是完整命令手册。它的作用是帮助 agent:
- 判断用户意图是否属于
mysql域。 - 选择正确的
mysql命令。 - 跳转到
references/commands/*.md中对应的单命令文档。
适用场景
- 用户要查询 MySQL 对象列表或对象详情。
- 用户要查询目标端 MySQL 实例列表。
- 用户要查看备份配置、恢复配置、备份任务或恢复任务详情。
- 用户要查询备份数据源、恢复时间点数据源、恢复范围或恢复时间点。
- 用户要设置备份配置、创建恢复配置或执行授权操作。
不适用场景
- 用户已经明确要查询通用异步作业详情或执行输出,此时应优先切换到
job域技能。 - 用户需要的是 VMware、Host 等其它应用域能力,而不是 MySQL 域能力。
- 用户只是要走通用 API 透传,且没有标准
mysql命令覆盖时,应回到共享技能重新判断是否改走api域。
标准流程
- 先使用“快速判断规则”排除最常见的误选命令场景。
- 再使用 命令映射 选择命令。
- 立即打开
./references/commands/下对应的单命令文档。 - 基于该单命令文档构造最终 CLI。
快速判断规则
- 如果用户要查“对象列表”,使用
mysql object list。 - 如果用户要查“对象详情”,使用
mysql object get。 - 如果用户要查“目标端实例列表”,使用
mysql target-instance list。 - 如果用户要查“备份配置详情”,使用
mysql backup-config detail。 - 如果用户要“执行 MySQL 备份方案创建”(聚合策略创建、绑定与备份配置),按 3 步工作流执行:
policy backup create->protect policy bind->mysql backup-config set。 - 如果用户要“设置备份配置”,使用
mysql backup-config set。 - 如果用户要查“备份数据源”,使用
mysql datasource backup。 - 如果用户要查“恢复时间点数据源”,使用
mysql datasource recovery。 - 如果用户要查“恢复时间点”,使用
mysql recovery timepoint list。 - 如果用户要“创建恢复配置”或者“发起恢复”,使用
mysql restore-config create。 - 如果用户明确是“宕机恢复/故障恢复”,
restore-config create请求体必须设置isShutDown=true(恢复前停止数据库服务)。 - 如果用户明确是“宕机恢复/故障恢复”,
restore-config create请求体必须设置isCoverOldDb=true(覆盖现有数据库)。 restore-config create请求体必须设置非空realPath;实例级恢复使用["/<实例名>"],禁止传[]、空字符串或省略。- 进行
mysql restore-config create前,必须先执行:mysql target-instance list-> 取clientId->client datasource list取dataFilePath。 client datasource list --client-id必须使用mysql target-instance list返回的同一个clientId,禁止跨实例复用路径。- MySQL 恢复场景调用
client datasource list时必须传--runner-type MySQL --runner-user root,禁止把目标实例的osUserName当作runnerUser。 dataFilePath必须来自client datasource list返回的fullPath;禁止直接填/。- 如果
client datasource list返回空,不要立刻改填猜测路径;先按固定顺序继续查询。 client datasource list防空轮询必须按固定顺序执行,且requestId必须取第一次请求返回的responseData.requestId。- 第 1 次:
fullPath="",不传requestId或传空,读取返回的responseData.requestId。 - 第 2 次:
fullPath=""+requestId=<第一次返回的 requestId>。 - 第 3 次:
fullPath="/"+requestId=<第一次返回的 requestId>。 - 若第 3 次后已拿到根目录子项,继续按固定顺序下钻:
fullPath="/var"->fullPath="/var/lib"->fullPath="/var/lib/mysql"。 - 若
/var/lib返回多条路径,优先选择最接近 MySQL 数据目录语义的路径,通常是/var/lib/mysql。 - 若
/var/lib/mysql再继续展开后返回/var/lib/mysql/mysql、/var/lib/mysql/performance_schema等更深层子目录,dataFilePath仍优先使用上层目录/var/lib/mysql。 - 若完成上述下钻仍获取不到有效路径,MySQL 恢复场景默认
dataFilePath="/var/lib/mysql"。 backup-config detail和recovery-config detail都依赖--system-id和--object-id。backup-detail和recovery-detail都依赖--task-id。
写入与只读
写入命令:
mysql backup-plan createmysql backup-config setmysql restore-config createmysql authorize
只读命令:
mysql object listmysql target-instance listmysql object getmysql backup-config detailmysql datasource backupmysql backup-detailmysql recovery rangemysql recovery-config detailmysql datasource recoverymysql recovery timepoint listmysql recovery-detail
对于写入命令,优先使用 --data;请求体较长时可改用 --body-file。
必要的全局上下文
除非调用环境已经隐式提供,否则先确认这些参数:
--tenant-id--endpoint--ak--sk
常见误判
- 不要把
object list和object get混淆。 - 不要把
backup-config detail和backup-config set混淆。 - 不要把
datasource backup和datasource recovery混淆。 - 不要把
backup-detail和recovery-detail混淆。 - 不要在缺少
--system-id、--object-id、--task-id、--storage-service-id的情况下直接拼命令。
意图到命令
| 意图 | 推荐命令 | 下一步打开的文件 |
|---|---|---|
| 查询 MySQL 对象列表 | foundation-cli mysql object list --tenant-id <tenant-id> --app-type 202 [filters] |
object-list.md |
| 查询目标端 MySQL 实例列表 | foundation-cli mysql target-instance list --tenant-id <tenant-id> [--index <n>] [--count <n>] |
target-instance-list.md |
| 查询 MySQL 对象详情 | foundation-cli mysql object get --tenant-id <tenant-id> --object-id <object-id> |
object-get.md |
| 查询备份配置详情 | foundation-cli mysql backup-config detail --tenant-id <tenant-id> --system-id <system-id> --object-id <object-id> |
backup-config-detail.md |
| 执行 MySQL 备份方案创建(聚合) | 按工作流执行:foundation-cli policy backup create --data <policyData> -> foundation-cli protect policy bind --data <bindData> -> foundation-cli mysql backup-config set --data <backupConfigData> |
backup-plan-create.md |
| 设置备份配置 | foundation-cli mysql backup-config set --tenant-id <tenant-id> --data '<json>' |
backup-config-set.md |
| 查询备份数据源 | foundation-cli mysql datasource backup --tenant-id <tenant-id> --object-id <object-id> [query flags] |
datasource-backup.md |
| 查询备份任务详情 | foundation-cli mysql backup-detail --tenant-id <tenant-id> --task-id <task-id> |
backup-detail.md |
| 查询恢复范围 | foundation-cli mysql recovery range --tenant-id <tenant-id> [query flags] |
recovery-range.md |
| 查询恢复配置详情 | foundation-cli mysql recovery-config detail --tenant-id <tenant-id> --system-id <system-id> --object-id <object-id> |
recovery-config-detail.md |
| 查询恢复时间点数据源 | foundation-cli mysql datasource recovery --tenant-id <tenant-id> --data-set-id <data-set-id> --storage-service-id <id> --timestamp <ts> [query flags] |
datasource-recovery.md |
| 查询恢复时间点 | foundation-cli mysql recovery timepoint list --tenant-id <tenant-id> [query flags] |
recovery-timepoint-list.md |
| 查询恢复任务详情 | foundation-cli mysql recovery-detail --tenant-id <tenant-id> --task-id <task-id> |
recovery-detail.md |
| 创建恢复配置或发起恢复 | foundation-cli mysql restore-config create --tenant-id <tenant-id> --data '<json>' |
restore-config-create.md |
| 授权 MySQL 实例 | foundation-cli mysql authorize --tenant-id <tenant-id> --data '<json>' |
authorize.md |
参考资料
执行 MySQL 备份方案创建(聚合)参数映射
| 字段 | CLI Flag | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| policyData | --policy-data |
string | 是 | 透传到 foundation-cli policy backup create --data |
| bindData | --bind-data |
string | 是 | 透传到 foundation-cli protect policy bind --data,其中 slaIds 由第 1 步返回值自动注入 |
| backupConfigData | --backup-config-data |
string | 是 | 透传到 foundation-cli mysql backup-config set --data |
Version History
- 6f53e31 Current 2026-07-24 16:09


