使用 Azure MCP 服务器,可以使用自然语言提示管理 Azure Database for MySQL 服务器、数据库和表。 无需复杂的语法即可简化 MySQL 资源管理。
Azure Database for MySQL 是由 MySQL 社区版提供支持的完全托管的关系数据库服务。 使用它在 Azure 中托管 MySQL 数据库。 它处理具有可预测性能和动态可伸缩性的任务关键型工作负荷。
注释
工具参数:Azure MCP 服务器工具为完成任务所需的数据定义参数。 其中一些参数特定于每个工具,如下所示。 其他参数是全局参数,由所有工具共享。 有关详细信息,请参阅 工具参数。
数据库:列出所有数据库
列出指定 Azure Database for MySQL 灵活服务器实例上可用的所有数据库。 此命令提供数据库结构的可见性,有助于识别用于连接和查询作的数据库。
示例提示包括:
- 列出数据库:“列出资源组”my-resource-group“中服务器”my-mysql-server“上的所有数据库”
- 显示数据库:“在资源组”my-resource-group“中显示 MySQL 服务器”my-my-mysql-server“上的所有数据库
- 按名称筛选:“列出资源组”my-resource-group“中以”test“开头的”my-my-mysql-server“上的数据库”
- 资源组中的列表:“在资源组”my-resource-group“中列出服务器'my-mysql-server'上的数据库”
- 显示用户可访问的数据库:“列出资源组”my-resource-group“中的服务器”my-mysql-server“上的用户”dbadmin“可访问的数据库”
| 参数 | 必需还是可选 | Description |
|---|---|---|
| 资源组 | 必选 | Azure 资源组的名称。 这是 Azure 资源的逻辑容器。 |
| User | 必选 | 用于访问 MySQL 服务器的用户名。 |
| 服务器 | 必选 | 要访问的 MySQL 服务器。 |
破坏性: ❌ |幂等: ✅ |开放世界: ❌ |只读: ✅ |机密: ❌ |本地必需: ❌
数据库:查询
对 Azure Database for MySQL 灵活服务器上的数据库执行安全的只读 SQL SELECT 查询。 使用此工具在不修改表数据的情况下浏览或检索表数据。
最佳实践:
- 仅列出所需的列(避免
SELECT *)。 - 添加 WHERE 筛选器以缩小结果范围。
- 使用 LIMIT/OFFSET 进行分页。
- 将 ORDER BY 用于确定性结果。
- 避免返回不必要的敏感数据。
允许:
- 仅允许单个 SELECT 语句。
不允许:
- 非 SELECT 语句(INSERT、UPDATE、DELETE、REPLACE、MERGE、TRUNCATE、ALTER、CREATE、DROP)。
- 多语句。
- 隐藏写入作的注释。
- 事务控制语句(BEGIN、COMMIT、ROLLBACK)。
- INTO OUTFILE 和其他破坏性关键字。
Example:
SELECT ID, name, status FROM customers WHERE status = 'Active' ORDER BY name LIMIT 50;
示例提示包括:
- 运行查询:“运行 SELECT ID,名称 FROM customers WHERE status = 'Active' ORDER BY name LIMIT 50 on server 'my-mysql-server' on server 'my-my-resource-group' 中的服务器 'my-mysql-server'”
- 对行进行计数:“在资源组”my-resource-group“中的服务器'my-mysql-server'上的数据库'salesdb'上运行 SELECT COUNT} FROM orders WHERE status = 'completed'
- 筛选的查询:“从用户运行 SELECT 名称, WHERE created_at > '2025-01-01' ORDER BY created_at LIMIT 25 on server 'my-mysql-server' 上的资源组 'my-resource-group' 上的数据库 'appdb'
- 热门产品:“在资源组”my-resource-group“中,”运行 SELECT product_id, SUM(quantity) AS TOTAL FROM sales WHERE sale_date >= '2025-01-01' GROUP BY product_id ORDER BY TOTAL DESC LIMIT 10 on server 'my-mysql-server' 上的数据库 'analytics'
- 非重复值:“在资源组”my-resource-group“中的服务器”my-mysql-server“上的数据库”inventory“上运行 SELECT DISTINCT category FROM products LIMIT 20”
| 参数 | 必需还是可选 | Description |
|---|---|---|
| 资源组 | 必选 | Azure 资源组的名称。 这是 Azure 资源的逻辑容器。 |
| User | 必选 | 用于访问 MySQL 服务器的用户名。 |
| 服务器 | 必选 | 要访问的 MySQL 服务器。 |
| 数据库 | 必选 | 要访问的 MySQL 数据库。 |
| 查询 | 必选 | 要针对 MySQL 数据库执行的 SQL 查询。 |
破坏性: ❌ |幂等: ✅ |开放世界: ❌ |只读: ✅ |机密: ❌ |本地必需: ❌
服务器:配置获取
检索指定的 Azure Database for MySQL 灵活服务器实例的综合配置详细信息。 此命令提供有关服务器设置、性能参数、安全配置和作特征的见解,这些特征对于数据库管理和优化至关重要。 它以 JSON 格式返回配置数据,包括ServerName、Location、Version、SKU、StorageSizeGB和BackupRetentionDaysGeoRedundantBackup属性。
示例提示包括:
- 获取服务器配置:“获取资源组”my-resource-group“中服务器”my-my-mysql-server“的配置详细信息”
- 显示版本和 SKU:“在资源组”my-resource-group“中显示服务器”my-my-mysql-server“的 MySQL 引擎版本和 SKU”
- 获取备份保留:“资源组”my-resource-group“中服务器”my-my-mysql-server“的备份保留期是多少?
- 显示存储分配:“在资源组”my-resource-group“中显示服务器”my-mysql-server“的存储分配”
- 获取完整配置:“获取资源组”my-resource-group“中服务器”my-my-mysql-server“的完整配置”
| 参数 | 必需还是可选 | Description |
|---|---|---|
| 资源组 | 必选 | Azure 资源组的名称。 这是 Azure 资源的逻辑容器。 |
| User | 必选 | 用于访问 MySQL 服务器的用户名。 |
| 服务器 | 必选 | 要访问的 MySQL 服务器。 |
破坏性: ❌ |幂等: ✅ |开放世界: ❌ |只读: ✅ |机密: ❌ |本地必需: ❌
服务器:列出资源组中的所有实例
列出指定资源组中的所有 Azure Database for MySQL 灵活服务器实例。 此命令提供可用 MySQL 服务器资源的清单,包括其名称和当前状态,以便可以有效地管理服务器和计划资源。
示例提示包括:
- 列出服务器:“列出资源组”my-resource-group“中的所有 MySQL 灵活服务器实例”
- 列出资源组中的服务器:“列出资源组'my-resource-group'中的 MySQL 服务器”
- 按区域筛选:“在资源组”my-resource-group“的区域”eastus“中显示 MySQL 服务器”
- 显示服务器状态:“列出服务器及其资源组”my-resource-group“中的当前状态
- 按名称查找服务器:“在资源组”my-resource-group“中查找名为”my-mysql-server“的服务器”
| 参数 | 必需还是可选 | Description |
|---|---|---|
| 资源组 | 必选 | Azure 资源组的名称。 这是 Azure 资源的逻辑容器。 |
| User | 必选 | 用于访问 MySQL 服务器的用户名。 |
破坏性: ❌ |幂等: ✅ |开放世界: ❌ |只读: ✅ |机密: ❌ |本地必需: ❌
服务器:获取参数
检索 Azure Database for MySQL 灵活服务器上的单个服务器配置参数的当前值。 使用此服务器命令在更改设置之前检查设置,例如 max_connections, wait_timeout或 slow_query_log。
示例提示包括:
-
获取参数值:“获取资源组”my-resource-group“中服务器的
my-mysql-server值为max_connections”my-resource-group” -
检查slow_query_log:“是否
slow_query_log在资源组”my-resource-group“中的服务器上my-mysql-server启用?” -
获取wait_timeout:“在资源组”my-resource-group“中显示
wait_timeout服务器my-mysql-server的值 -
显示缓冲池大小:“获取
innodb_buffer_pool_size资源组”my-resource-group“中的服务器my-mysql-server -
在更改之前检索参数:“在更新之前在资源组”my-resource-group“中检索
max_allowed_packet服务器上的服务器my-mysql-server”
| 参数 | 必需还是可选 | Description |
|---|---|---|
| 资源组 | 必选 | Azure 资源组的名称。 这是 Azure 资源的逻辑容器。 |
| User | 必选 | 用于访问 MySQL 服务器的用户名。 |
| 服务器 | 必选 | 要访问的 MySQL 服务器。 |
| 参数 | 必选 | 要访问的 MySQL 参数。 |
破坏性: ❌ |幂等: ✅ |开放世界: ❌ |只读: ✅ |机密: ❌ |本地必需: ❌
服务器:设置参数
将 MySQL 服务器配置参数设置为新值或更新。 使用此命令可以优化性能、安全性或作行为。 此命令允许使用验证进行微调的配置管理,以确保参数更改与服务器的当前状态和约束兼容。
示例提示包括:
-
设置参数:“在资源组”my-resource-group“中的服务器上
my-mysql-server设置为max_connections500 -
启用慢查询日志:“在资源组”my-resource-group“中启用
slow_query_log服务器my-mysql-server -
调整超时:“在资源组”my-resource-group“中将服务器
my-mysql-server设置为wait_timeout300 -
增加缓冲池:“设置为
innodb_buffer_pool_size2G资源组”my-resource-group“中的服务器my-mysql-server” -
更改允许的最大数据包数:“设置为
max_allowed_packet64M资源组”my-resource-group“中的服务器my-mysql-server”
| 参数 | 必需还是可选 | Description |
|---|---|---|
| 资源组 | 必选 | Azure 资源组的名称。 这是 Azure 资源的逻辑容器。 |
| User | 必选 | 用于访问 MySQL 服务器的用户名。 |
| 服务器 | 必选 | 要访问的 MySQL 服务器。 |
| 参数 | 必选 | 要访问的 MySQL 参数。 |
| 价值 | 必选 | 要为 MySQL 参数设置的值。 |
破坏性: ✅ |幂等: ✅ |开放世界: ❌ |只读: ❌ |机密: ❌ |本地必需: ❌
表:列出数据库中的所有表
枚举 Azure Database for MySQL 灵活服务器实例上指定数据库中的所有表。 此命令提供表对象的完整清单,有助于对开发任务进行数据库浏览、架构分析和数据体系结构理解。
示例提示包括:
- 列出表:“列出资源组”my-resource-group“中服务器”my-mysql-server“上的数据库'salesdb'中的所有表”
- 显示表:“资源组”my-resource-group“的服务器”my-mysql-server“上的数据库”inventory“中存在哪些表?
- 筛选表:“列出资源组”my-resource-group“中数据库”appdb“中以”tmp_“开头的表
- 对表进行计数:“资源组”my-resource-group“的服务器”my-mysql-server“上的数据库”analytics“中有多少个表?
- 查找表:“在资源组”my-resource-group“的服务器”my-mysql-server“上的数据库'salesdb'中查找名为'orders'的表
| 参数 | 必需还是可选 | Description |
|---|---|---|
| 资源组 | 必选 | Azure 资源组的名称。 这是 Azure 资源的逻辑容器。 |
| User | 必选 | 用于访问 MySQL 服务器的用户名。 |
| 服务器 | 必选 | 要访问的 MySQL 服务器。 |
| 数据库 | 必选 | 要访问的 MySQL 数据库。 |
破坏性: ❌ |幂等: ✅ |开放世界: ❌ |只读: ✅ |机密: ❌ |本地必需: ❌
表:获取表架构
检索 Azure Database for MySQL 灵活服务器数据库中特定表的详细架构信息。 此命令提供全面的元数据,包括列定义、数据类型、约束、索引和关系。 此信息对于了解表结构和支持应用程序开发至关重要。
示例提示包括:
- 获取表架构:“在资源组”my-resource-group“中的服务器”my-mysql-server“上的数据库'salesdb'中显示表'orders'的架构”
- 获取列列表:“在资源组”my-resource-group“中的服务器”my-mysql-server“上的数据库”crm“中列出”customers“的列和数据类型
- 显示索引信息:“在资源组”my-resource-group“的服务器”my-mysql-server“上的数据库”billing“中显示表”transactions“的索引
- 查找主键:“资源组”my-resource-group“中的服务器”my-mysql-server“上的数据库”auth“中表”users“的主键是什么?
- 显示完整定义:“获取资源组”my-resource-group“中服务器”my-mysql-server“上数据库”inventory“中”inventory_items“的完整表定义”
| 参数 | 必需还是可选 | Description |
|---|---|---|
| 资源组 | 必选 | Azure 资源组的名称。 这是 Azure 资源的逻辑容器。 |
| User | 必选 | 用于访问 MySQL 服务器的用户名。 |
| 服务器 | 必选 | 要访问的 MySQL 服务器。 |
| 数据库 | 必选 | 要访问的 MySQL 数据库。 |
| 表 | 必选 | 要访问的 MySQL 表。 |
破坏性: ❌ |幂等: ✅ |开放世界: ❌ |只读: ✅ |机密: ❌ |本地必需: ❌