适用于 Azure MCP 服务器的 Azure Database for MySQL 工具概述

使用 Azure MCP 服务器,可以使用自然语言提示管理 Azure Database for MySQL 服务器、数据库和表。 无需复杂的语法即可简化 MySQL 资源管理。

Azure Database for MySQL 是由 MySQL 社区版提供支持的完全托管的关系数据库服务。 使用它在 Azure 中托管 MySQL 数据库。 它处理具有可预测性能和动态可伸缩性的任务关键型工作负荷。

注释

工具参数:Azure MCP 服务器工具为完成任务所需的数据定义参数。 其中一些参数特定于每个工具,如下所示。 其他参数是全局参数,由所有工具共享。 有关详细信息,请参阅 工具参数

数据库:列出所有数据库

列出指定 Azure Database for MySQL 灵活服务器实例上可用的所有数据库。 此命令提供数据库结构的可见性,有助于识别用于连接和查询作的数据库。

示例提示包括:

  • 列出数据库:“使用用户”dbadmin“在资源组”database-rg“中列出服务器”my-mysql-server“上的所有数据库
  • 显示数据库:“使用用户”appuser“在资源组”prod-rg“中显示 MySQL 服务器”prod-mysql-server“上的所有数据库
  • 按名称筛选:“列出资源组”dev-rg“中的服务器”dev-mysql-server“上的数据库,其中包含以”test“开头的用户”developer”
  • 资源组中的列表:“使用用户”analytics-rg“在资源组”analytics-rg“中列出服务器”analytics-mysql-server“上的数据库”
  • 显示用户可访问的数据库:“列出资源组”reporting-rg“中服务器”report-mysql-server“上的用户”readonly“访问的数据库
参数 必需还是可选 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, name FROM customers WHERE status = 'Active' ORDER BY name LIMIT 50' on database 'salesdb' on server 'prod-mysql-server' in resource group 'sales-rg' with user 'appuser'”
  • 对行进行计数:“运行查询 SELECT COUNT} FROM orders WHERE status = 'completed' on database 'salesdb' on server 'prod-mysql-server' in resource group 'sales-rg' with user 'analyst'”
  • 筛选的查询:“在资源组”app-rg“中运行查询”SELECT name FROM users WHERE created_at > '2025-01-01' ORDER BY created_at LIMIT 25' on server 'appdb' 上的服务器 'app-mysql-server' 与用户 'developer'”
  • 热门产品:“运行查询”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 'analytics-mysql-server' 上的服务器 'analytics-mysql-server' 上的数据库 'analytics-mysql-server' 与用户 'analyst'”
  • 非重复值:“使用用户”readonly“在资源组”inventory-rg“中的服务器”inventory-mysql-server“上对数据库”INVENTORY-mysql-server“运行查询”SELECT DISTINCT category FROM products LIMIT 20”
参数 必需还是可选 Description
资源组 必选 Azure 资源组的名称。 这是 Azure 资源的逻辑容器。
User 必选 用于访问 MySQL 服务器的用户名。
服务器 必选 要访问的 MySQL 服务器。
数据库 必选 要访问的 MySQL 数据库。
查询 必选 要针对 MySQL 数据库执行的 SQL 查询。

工具批注提示

破坏性: ❌ |幂等: ✅ |开放世界: ❌ |只读: ✅ |机密: ❌ |本地必需: ❌

服务器:配置获取

检索指定的 Azure Database for MySQL 灵活服务器实例的综合配置详细信息。 此命令提供有关服务器设置、性能参数、安全配置和作特征的见解,这些特征对于数据库管理和优化至关重要。 它以 JSON 格式返回配置数据,包括ServerNameLocationVersionSKUStorageSizeGBBackupRetentionDaysGeoRedundantBackup属性。

示例提示包括:

  • 获取服务器配置:“使用用户”dbadmin“在资源组”database-rg“中获取服务器”prod-mysql-server“的配置详细信息
  • 显示版本和 SKU:“使用用户”developer“在资源组”app-rg“中显示服务器”app-mysql-server“的 MySQL 引擎版本和 SKU
  • 获取备份保留:“用户”backup-admin“在资源组”backup-rg“中,服务器”backup-mysql-server“的备份保留期是多少?
  • 显示存储分配:“使用用户”analytics-rg“在资源组”analytics-rg“中显示服务器”analytics-mysql-server“的存储分配”
  • 获取完整配置:“使用用户”sysadmin“在资源组”prod-rg“中获取服务器”prod-mysql-server“的完整配置”
参数 必需还是可选 Description
资源组 必选 Azure 资源组的名称。 这是 Azure 资源的逻辑容器。
User 必选 用于访问 MySQL 服务器的用户名。
服务器 必选 要访问的 MySQL 服务器。

工具批注提示

破坏性: ❌ |幂等: ✅ |开放世界: ❌ |只读: ✅ |机密: ❌ |本地必需: ❌

服务器:列出资源组中的所有实例

列出指定资源组中的所有 Azure Database for MySQL 灵活服务器实例。 此命令提供可用 MySQL 服务器资源的清单,包括其名称和当前状态,以便可以有效地管理服务器和计划资源。

示例提示包括:

  • 列出服务器:“使用用户”dbadmin“列出资源组”database-rg“中的所有 MySQL 灵活服务器实例”
  • 列出资源组中的服务器:“使用用户'sysadmin'列出资源组'prod-rg'中的 MySQL 服务器”
  • 按区域筛选:“在资源组”eastus-rg“中”eastus-rg“中显示”eastus“中的 MySQL 服务器,其中包含用户”operator”
  • 显示服务器状态:“使用用户”monitor“列出服务器及其资源组”monitoring-rg“中的当前状态
  • 按名称查找服务器:“使用用户”developer“在资源组”prod-rg“中查找名为”prod-mysql-server“的服务器”
参数 必需还是可选 Description
资源组 必选 Azure 资源组的名称。 这是 Azure 资源的逻辑容器。
User 必选 用于访问 MySQL 服务器的用户名。

工具批注提示

破坏性: ❌ |幂等: ✅ |开放世界: ❌ |只读: ✅ |机密: ❌ |本地必需: ❌

服务器:获取参数

检索 Azure Database for MySQL 灵活服务器上的单个服务器配置参数的当前值。 使用此服务器命令在更改设置之前检查设置,例如 max_connectionswait_timeoutslow_query_log

示例提示包括:

  • 获取参数值:“使用用户”dbadmin“获取资源组”database-rg“中服务器”prod-mysql-server“的参数”max_connections“的值
  • 检查slow_query_log:“使用用户”analytics-rg“在资源组”analytics-rg“中的服务器”analytics-mysql-server“上获取参数”slow_query_log”
  • 获取wait_timeout:“使用用户”developer“在资源组”app-rg“中显示服务器”app-mysql-server“的参数”wait_timeout“值
  • 显示缓冲池大小:“使用用户”sysadmin“在资源组”prod-rg“中获取服务器”prod-mysql-server“的参数”innodb_buffer_pool_size”
  • 在更改之前检索参数:“在更新前使用用户”dba“在资源组”performance-rg“中检索服务器”perf-mysql-server“上的参数”max_allowed_packet”
参数 必需还是可选 Description
资源组 必选 Azure 资源组的名称。 这是 Azure 资源的逻辑容器。
User 必选 用于访问 MySQL 服务器的用户名。
服务器 必选 要访问的 MySQL 服务器。
参数 必选 要访问的 MySQL 参数。

工具批注提示

破坏性: ❌ |幂等: ✅ |开放世界: ❌ |只读: ✅ |机密: ❌ |本地必需: ❌

服务器:设置参数

将 MySQL 服务器配置参数设置为新值或更新。 使用此命令可以优化性能、安全性或作行为。 此命令允许使用验证进行微调的配置管理,以确保参数更改与服务器的当前状态和约束兼容。

示例提示包括:

  • 设置参数:“将参数”max_connections“设置为资源组”database-rg“中具有用户”dbadmin“的服务器”prod-mysql-server“上的值”500”
  • 启用慢查询日志:“将参数”slow_query_log“设置为资源组”analytics-rg“中的服务器”analytics-mysql-server“上的值”ON“,其中包含用户'dba'”
  • 调整超时:“将参数”wait_timeout“设置为资源组”app-rg“中具有用户”sysadmin“的服务器”app-mysql-server“上的值”300”
  • 增加缓冲池:“将参数”innodb_buffer_pool_size“设置为资源组”prod-rg“中具有用户”dba“的服务器”prod-mysql-server“上的值”2G”
  • 更改允许的最大数据包数:“将参数”max_allowed_packet“设置为资源组”performance-rg“中的服务器”perf-mysql-server“上的值”64M“,并将用户”dbadmin“设置为”performance-rg”
参数 必需还是可选 Description
资源组 必选 Azure 资源组的名称。 这是 Azure 资源的逻辑容器。
User 必选 用于访问 MySQL 服务器的用户名。
服务器 必选 要访问的 MySQL 服务器。
参数 必选 要访问的 MySQL 参数。
价值 必选 要为 MySQL 参数设置的值。

工具批注提示

破坏性: ✅ |幂等: ✅ |开放世界: ❌ |只读: ❌ |机密: ❌ |本地必需: ❌

表:列出数据库中的所有表

枚举 Azure Database for MySQL 灵活服务器实例上指定数据库中的所有表。 此命令提供表对象的完整清单,有助于对开发任务进行数据库浏览、架构分析和数据体系结构理解。

示例提示包括:

  • 列出表:“使用用户”appuser“在资源组”sales-rg“中的服务器”prod-mysql-server“上列出数据库'salesdb'中的所有表”
  • 显示表:“用户”developer“在资源组”inventory-rg“中的服务器”inventory-mysql-server“上的数据库”inventory-mysql-server“中存在哪些表?
  • 筛选表:“使用用户”developer“在资源组”app-rg“中的服务器”app-mysql-server“上的数据库”appdb“中以”tmp_“开头的表
  • 计数表:“资源组”analytics-rg“中的服务器”analytics-mysql-server“上的数据库”analytics“中有多少个表与用户”analytics-rg“?”
  • 查找表:“在资源组”sales-rg“中具有用户”readonly“的资源组”sales-mysql-server“上的数据库'salesdb'中查找表'orders'”
参数 必需还是可选 Description
资源组 必选 Azure 资源组的名称。 这是 Azure 资源的逻辑容器。
User 必选 用于访问 MySQL 服务器的用户名。
服务器 必选 要访问的 MySQL 服务器。
数据库 必选 要访问的 MySQL 数据库。

工具批注提示

破坏性: ❌ |幂等: ✅ |开放世界: ❌ |只读: ✅ |机密: ❌ |本地必需: ❌

表:获取表架构

检索 Azure Database for MySQL 灵活服务器数据库中特定表的详细架构信息。 此命令提供全面的元数据,包括列定义、数据类型、约束、索引和关系。 此信息对于了解表结构和支持应用程序开发至关重要。

示例提示包括:

  • 获取表架构:“在资源组”sales-rg“中具有用户”developer“的资源组”sales-rg“中的服务器”sales-mysql-server“上的数据库”salesdb“中显示表'orders'的架构”
  • 获取列列表:“使用用户”appuser“在资源组”crm-rg“中的服务器”crm-mysql-server“的数据库”crm“中列出表”customers“的列和数据类型
  • 显示索引信息:“在资源组”billing-rg“中的服务器”billing-mysql-server“上的数据库”billing-mysql-server“中显示表”事务“的索引,并显示用户”analyst“”
  • 查找主键:“资源组”auth-rg“中数据库”auth“中表”users“的主键是什么?
  • 显示完整定义:“在资源组”inventory-rg“中具有用户”readonly“的资源组”inventory-mysql-server“上的数据库”inventory-mysql-server“中获取表”inventory_items“的完整表定义”
参数 必需还是可选 Description
资源组 必选 Azure 资源组的名称。 这是 Azure 资源的逻辑容器。
User 必选 用于访问 MySQL 服务器的用户名。
服务器 必选 要访问的 MySQL 服务器。
数据库 必选 要访问的 MySQL 数据库。
必选 要访问的 MySQL 表。

工具批注提示

破坏性: ❌ |幂等: ✅ |开放世界: ❌ |只读: ✅ |机密: ❌ |本地必需: ❌