本页说明用户可以通过自然语言完成的数据库任务,以及连接 ShardingSphere-Proxy 和数据库直连时的使用边界。
适合查看 ShardingSphere 逻辑库结构、读取规则状态、执行受控 SQL,或生成需要审查的规则变更计划。
可用任务包括:
使用限制:
数据库直连指 ShardingSphere-MCP 不经过 ShardingSphere-Proxy,直接连接用户提供的 MySQL、PostgreSQL 等数据库服务。 这种模式适合把 ShardingSphere-MCP 作为已有数据库的受控访问入口,用于查看元数据、搜索对象和执行受限 SQL。
可用任务包括:
使用限制:
| 任务 | 自然语言示例 | 连接目标 | 用户关注点 |
|---|---|---|---|
| 查看可访问的数据库 | “列出当前可以访问的数据库。” | Proxy 或数据库直连 | 确认数据库名称是否和配置一致。 |
| 查看模式或命名空间 | “查看 <database-name> 中有哪些模式。” |
Proxy 或数据库直连 | 多模式数据库应先确认目标模式。 |
| 查看表或视图 | “列出目标模式中的表和视图。” | Proxy 或数据库直连 | Proxy 连接展示的是逻辑对象。 |
| 查看列信息 | “查看 <table-name> 有哪些列,以及列类型是什么。” |
Proxy 或数据库直连 | 列类型以连接目标可见元数据为准。 |
| 查看索引 | “查看 <table-name> 的索引。” |
Proxy 或数据库直连 | Proxy 连接下索引信息可能不同于底层物理库完整结构。 |
| 查看序列 | “列出目标模式中的序列。” | Proxy 或数据库直连 | 仅在连接目标支持序列元数据时可用。 |
| 查看存储单元 | “列出 <database-name> 的存储单元。” |
仅 Proxy | 基于 SHOW STORAGE UNITS FROM <database-name>;敏感连接属性会被脱敏或省略。 |
| 查看存储单元使用情况 | “哪些规则正在使用存储单元 write_ds?” |
仅 Proxy | 基于 SHOW RULES USED STORAGE UNIT <storage-unit> FROM <database-name>。 |
| 查看单表映射 | “单表 t_user 在哪个存储单元?” |
仅 Proxy | 基于 SHOW SINGLE TABLE 和 SHOW SINGLE TABLES;新增单表默认位置可读取默认单表存储单元资源。 |
| 任务 | 自然语言示例 | 连接目标 | 用户关注点 |
|---|---|---|---|
| 按名称搜索对象 | “查找名字包含 order 的表。” |
Proxy 或数据库直连 | 适合不知道完整对象名时缩小范围。 |
| 按对象类型搜索 | “查找名字包含 user 的表和视图。” |
Proxy 或数据库直连 | 可以指定只看表、视图或列等对象。 |
| 搜索存储单元 | “查找名字包含 write 的存储单元。” |
仅 Proxy | 使用 database_gateway_search_metadata 并传入 object_types=["storage_unit"]。 |
| 查找后继续查看详情 | “打开刚才找到的 orders 表,查看字段和索引。” |
Proxy 或数据库直连 | 搜索结果可作为后续自然语言任务的上下文。 |
| 任务 | 自然语言示例 | 连接目标 | 用户关注点 |
|---|---|---|---|
| 执行查询 | “查询 orders 表前 10 行。” |
Proxy 或数据库直连 | 适合查看样例数据或验证查询结果。 |
| 限制返回行数 | “查询 orders 表前 100 行,不要返回更多数据。” |
Proxy 或数据库直连 | 避免返回过多数据。 |
| 预览普通 SQL 变更 | “预览这条 SQL 变更,先不要执行。” | Proxy 或数据库直连 | 执行前审查影响范围。 |
| 确认执行已预览的普通 SQL 变更 | “确认执行刚才预览过的 SQL 变更。” | Proxy 或数据库直连 | 需要确认已审查副作用。 |
SHOW STORAGE UNITS 和 SHOW SINGLE TABLES 这类控制台风格元数据 SQL 仍会被 database_gateway_execute_query 拦截。
请使用对应 MCP 资源或恢复提示,不提供原始 SHOW 透传。| 任务 | 自然语言示例 | 连接目标 | 用户关注点 |
|---|---|---|---|
| 检查已有规则 | “检查 orders.phone 当前是否已有脱敏规则。” |
仅 Proxy | 规则状态来自 ShardingSphere-Proxy。 |
| 规划数据加密规则 | “为 orders.status 规划可逆加密,先预览不要执行。” |
仅 Proxy | 审查生成的规则 DistSQL、算法、参数和规则列名。 |
| 规划数据脱敏规则 | “为 orders.phone 规划手机号脱敏,保留前 3 后 4,先预览不要执行。” |
仅 Proxy | 审查脱敏算法、参数和影响范围。 |
| 规划广播表规则 | “把 config_region 规划为广播表,先预览不要执行。” |
仅 Proxy | 审查逻辑表名和广播表规则 DistSQL。 |
| 规划读写分离规则 | “规划读写分离规则,写存储单元是 write_ds,读存储单元是 read_ds_0, read_ds_1。” |
仅 Proxy | 审查已有存储单元、负载均衡算法和状态计划。 |
| 规划影子规则 | “为 t_order 规划影子规则,源存储单元是 ds_0,影子存储单元是 ds_shadow。” |
仅 Proxy | 审查已有存储单元、算法参数和清理证据。 |
| 规划分片规则 | “为 t_order 规划分片表规则,使用明确的数据节点和标准分片策略。” |
仅 Proxy | 审查数据节点、策略、键生成和未使用组件证据。 |
| 调整规则计划 | “把刚才的计划改成使用 AES 算法。” | 仅 Proxy | 修改后应重新预览。 |
| 执行规则变更 | “确认执行刚才的规则变更计划。” | 仅 Proxy | 有副作用,执行前应完成审查。 |
| 校验规则变更 | “校验刚才的脱敏规则是否生效。” | 仅 Proxy | 查看规则状态和 workflow 执行结果。 |
