skills/azure-database-mysql/SKILL.md
Expert knowledge for Azure Database for MySQL development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when using MySQL Flexible Server, HA/DR, backups/geo-restore, Private Link/TLS, or AKS/app integrations, and other Azure Database for MySQL related development tasks. Not for Azure Database for MariaDB (use azure-database-mariadb), Azure Database for PostgreSQL (use azure-database-postgresql), Azure SQL Database (use azure-sql-database), Azure SQL Managed Instance (use azure-sql-managed-instance).
npx skillsauth add microsoftdocs/agent-skills azure-database-mysqlInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill provides expert guidance for Azure Database for MySQL. Covers troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. It combines local quick-reference content with remote documentation fetching capabilities.
IMPORTANT for Agent: Use the Category Index below to locate relevant sections. For categories with line ranges (e.g.,
L35-L120), useread_filewith the specified lines. For categories with file links (e.g.,[security.md](security.md)), useread_fileon the linked reference file
IMPORTANT for Agent: If
metadata.generated_atis more than 3 months old, suggest the user pull the latest version from the repository. Ifmcp_microsoftdocstools are not available, suggest the user install it: Installation Guide
This skill requires network access to fetch documentation content:
mcp_microsoftdocs:microsoft_docs_fetch with query string from=learn-agent-skill. Returns Markdown.fetch_webpage with query string from=learn-agent-skill&accept=text/markdown. Returns Markdown.| Category | Lines | Description | |----------|-------|-------------| | Troubleshooting | L37-L53 | Diagnosing and fixing MySQL Flexible Server issues: connectivity, performance (CPU/memory/queries), capacity, corruption, replication latency, CLI errors, and using logs/self-heal tools. | | Best Practices | L54-L71 | Best practices for monitoring, performance tuning, troubleshooting, safe operations, BCDR, and end-to-end migration/optimization for Azure Database for MySQL Flexible Server | | Decision Making | L72-L88 | Planning MySQL on Azure: version lifecycle, HA/DR and business continuity, sizing tiers/storage, performance baselines, and choosing/migrating/ upgrading to Flexible Server. | | Architecture & Design Patterns | L89-L96 | Patterns for connecting AKS to MySQL Flexible Server, designing backup/restore, data-in/out replication, high availability (zone-redundant), and read-replica-based scaling. | | Limits & Quotas | L97-L105 | Limits, quotas, and performance caps for MySQL Flexible Server: max connections/cores/IOPS, storage IOPS behavior, quota increase requests, restart/stop limits, and delete/restore time limits. | | Security | L106-L130 | Network, auth, and encryption security for Azure MySQL: Private Link, public/private access, firewall rules, TLS and cert rotation, audit logging, migration security, and Microsoft Entra-based access. | | Configuration | L131-L161 | Configuring Azure Database for MySQL Flexible Server: parameters, HA, networking, logging, monitoring, alerts, maintenance windows, replication, scaling, backups, and read replicas. | | Integrations & Coding Patterns | L162-L173 | Connecting apps and tools to MySQL Flexible Server (CLI, JDBC, Power BI), managing connection strings, and migrating MySQL data from RDS, on-prem/VM, or large databases using various tools. | | Deployment | L174-L183 | Automating MySQL Flexible Server deployments and changes (Azure Pipelines, GitHub Actions, Automation), handling backups, geo-restore, version upgrades, and scheduled maintenance. |
| Topic | URL | |-------|-----| | Use MySQL Flexible Server error logs for troubleshooting | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-error-logs | | Resolve database corruption in Azure MySQL flexible server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-fix-corrupt-database | | Use self-heal to automatically repair MySQL flexible server issues | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-self-heal | | Troubleshoot Azure CLI issues for MySQL flexible server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-troubleshoot-cli-errors | | Diagnose and fix MySQL flexible server connection issues | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-troubleshoot-common-connection-issues | | Troubleshoot common migration and usage errors in MySQL flexible server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-troubleshoot-common-errors | | Troubleshoot connectivity issues and connection handling in MySQL flexible server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-troubleshoot-connectivity-issues | | Troubleshoot high CPU utilization in MySQL flexible server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-troubleshoot-high-cpu-utilization | | Troubleshoot low memory issues in MySQL flexible server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-troubleshoot-low-memory-issues | | Troubleshoot query performance issues in MySQL flexible server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-troubleshoot-query-performance-new | | Diagnose and fix MySQL flexible server capacity errors | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/resolve-capacity-errors | | Use Query Performance Insight to diagnose Azure MySQL queries | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/tutorial-query-performance-insights | | Troubleshoot replication latency on MySQL flexible server read replicas | https://learn.microsoft.com/en-us/azure/mysql/how-to-troubleshoot-replication-latency |
| Topic | URL | |-------|-----| | Implement monitoring best practices for MySQL flexible server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concept-monitor-best-practices | | Apply operational best practices for Azure Database for MySQL | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concept-operation-excellence-best-practices | | Run performance benchmarks on Azure MySQL flexible server effectively | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concept-perf-benchmark-best-practices | | Optimize performance of Azure MySQL flexible server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concept-performance-best-practices | | Use Azure Monitor and Advisor for MySQL business continuity | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-business-continuity-advisor-monitor | | Apply troubleshooting best practices for MySQL flexible server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-troubleshooting-best-practices | | Prevent and recover accidental deletion of MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-prevent-recover-accidental-delete | | Restart Azure MySQL Flexible Server safely via portal | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-restart-server-portal | | Profile and optimize MySQL flexible server queries using EXPLAIN | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-troubleshoot-query-performance | | Use sys_schema to diagnose performance issues in MySQL flexible server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-troubleshoot-sys-schema | | Execute data migration from on-premises MySQL to Azure | https://learn.microsoft.com/en-us/azure/mysql/migrate/mysql-on-premises-azure-db/08-data-migration | | Manage Azure Database for MySQL after migration | https://learn.microsoft.com/en-us/azure/mysql/migrate/mysql-on-premises-azure-db/10-post-migration-management | | Optimize Azure Database for MySQL performance after migration | https://learn.microsoft.com/en-us/azure/mysql/migrate/mysql-on-premises-azure-db/11-optimization | | Design BCDR for Azure Database for MySQL migrations | https://learn.microsoft.com/en-us/azure/mysql/migrate/mysql-on-premises-azure-db/12-business-continuity-and-disaster-recovery |
| Topic | URL | |-------|-----| | Plan Azure Database for MySQL version lifecycle | https://learn.microsoft.com/en-us/azure/mysql/concepts-version-policy | | Choose and purchase MySQL Flexible Server reserved capacity | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concept-reserved-pricing | | Plan business continuity for MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-business-continuity | | High availability FAQ and choices for MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-high-availability-faq | | Select MySQL Flexible Server service tiers and storage | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-service-tiers-storage | | Perform minimal-downtime MySQL migration to Azure flexible server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-migrate-online | | Plan and execute Azure MySQL major version upgrades | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-upgrade | | Plan Azure Database for MySQL major version upgrades | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-upgrade-faq | | Plan and execute MySQL migration to Azure Database | https://learn.microsoft.com/en-us/azure/mysql/migrate/mysql-on-premises-azure-db/01-mysql-migration-guide-intro | | Assess on-premises MySQL for migration to Azure | https://learn.microsoft.com/en-us/azure/mysql/migrate/mysql-on-premises-azure-db/03-assessment | | Plan Azure Database for MySQL migration landing zone | https://learn.microsoft.com/en-us/azure/mysql/migrate/mysql-on-premises-azure-db/04-planning | | Choose migration methods to Azure Database for MySQL | https://learn.microsoft.com/en-us/azure/mysql/migrate/mysql-on-premises-azure-db/05-migration-methods | | Establish performance baselines for MySQL migration to Azure | https://learn.microsoft.com/en-us/azure/mysql/migrate/mysql-on-premises-azure-db/07-performance-baselines |
| Topic | URL | |-------|-----| | Connect Azure Kubernetes Service to MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-aks | | Design data-in replication into MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-data-in-replication | | Design data-out replication from MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-data-out-replication | | Use read replicas to scale MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-read-replicas |
| Topic | URL | |-------|-----| | Service limitations for Azure MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-limitations | | Storage IOPS performance characteristics for MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-storage-iops | | Request quota increases for Azure MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-request-quota-increase | | Restore deleted Azure MySQL flexible servers within retention limits | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-restore-dropped-server | | Restart, stop, and start MySQL flexible server with stop-duration limits | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/scripts/sample-cli-restart-stop-start |
| Topic | URL | |-------|-----| | Use Private Link with Azure MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-networking-private-link | | Configure public network access for MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-networking-public | | Configure private network access for MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-networking-vnet | | Configure Azure MySQL Private Link using Azure CLI | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-networking-private-link-azure-cli | | Deny public network access for Azure MySQL via portal | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-networking-private-link-deny-public-access | | Secure Azure MySQL with Private Link using portal | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-networking-private-link-portal | | Create and connect to MySQL Flexible Server with private access | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/quickstart-create-connect-server-vnet | | Configure audit logging for MySQL flexible server via CLI | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/scripts/sample-cli-audit-logs | | Configure and analyze audit logs for Azure MySQL | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/tutorial-configure-audit | | Secure Azure Database for MySQL during and after migration | https://learn.microsoft.com/en-us/azure/mysql/migrate/mysql-on-premises-azure-db/13-security | | Use customer-managed keys for Azure MySQL encryption | https://learn.microsoft.com/en-us/azure/mysql/security/security-customer-managed-key | | Configure Microsoft Entra authentication for Azure MySQL | https://learn.microsoft.com/en-us/azure/mysql/security/security-entra-authentication | | Create and manage MySQL users securely in Azure | https://learn.microsoft.com/en-us/azure/mysql/security/security-how-to-create-users | | Configure data encryption for Azure MySQL using CLI | https://learn.microsoft.com/en-us/azure/mysql/security/security-how-to-data-encryption-cli | | Configure data-at-rest encryption in Azure MySQL portal | https://learn.microsoft.com/en-us/azure/mysql/security/security-how-to-data-encryption-portal | | Set up Microsoft Entra auth on Azure MySQL | https://learn.microsoft.com/en-us/azure/mysql/security/security-how-to-entra | | Configure Azure MySQL firewall rules with CLI | https://learn.microsoft.com/en-us/azure/mysql/security/security-how-to-manage-firewall-cli | | Manage Azure MySQL firewall rules in portal | https://learn.microsoft.com/en-us/azure/mysql/security/security-how-to-manage-firewall-portal | | Connect securely to Azure MySQL using TLS | https://learn.microsoft.com/en-us/azure/mysql/security/security-tls-how-to-connect | | Manage root certificate rotation for Azure MySQL TLS | https://learn.microsoft.com/en-us/azure/mysql/security/security-tls-root-certificate-rotation | | FAQ for Azure MySQL TLS certificate rotation | https://learn.microsoft.com/en-us/azure/mysql/security/security-tls-root-certificate-rotation-faq |
| Topic | URL | |-------|-----| | Use built-in stored procedures in MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-built-in-store-procedure | | Configure monitoring and alerts for MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-monitor-mysql | | Reference monitoring metrics for Azure Database for MySQL | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-monitor-mysql-reference | | Configure server parameters for Azure MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-server-parameters | | Set up metric-based alerts for Azure MySQL | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-alert-on-metric | | Enable or disable zone redundant high availability via portal | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-configure-high-availability | | Configure zone redundant high availability for Azure MySQL via CLI | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-configure-high-availability-cli | | Configure MySQL flexible server parameters via Azure CLI | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-configure-server-parameters-cli | | Configure MySQL Flexible Server parameters in Azure portal | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-configure-server-parameters-portal | | Configure data-in replication into Azure MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-data-in-replication | | Configure data-out replication from Azure MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-data-out-replication | | Configure scheduled maintenance windows for Azure MySQL | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-maintenance-portal | | Configure private VNet connectivity for Azure MySQL via CLI | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-manage-virtual-network-cli | | Configure private VNet connectivity for Azure MySQL via portal | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-manage-virtual-network-portal | | Create and manage Azure MySQL read replicas using CLI | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-read-replicas-cli | | Create and manage Azure MySQL read replicas via portal | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-read-replicas-portal | | List and download Azure MySQL server logs using CLI | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-server-logs-cli | | Enable and download Azure MySQL server logs via portal | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-server-logs-portal | | List and modify MySQL flexible server parameters via CLI | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/scripts/sample-cli-change-server-parameters | | Create MySQL flexible server with VNet private access via CLI | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/scripts/sample-cli-create-connect-private-access | | Configure public access and firewall for MySQL flexible server via CLI | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/scripts/sample-cli-create-connect-public-access | | Monitor and scale MySQL flexible server compute, storage, and IOPS | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/scripts/sample-cli-monitor-and-scale | | Create and manage MySQL flexible server read replicas via CLI | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/scripts/sample-cli-read-replicas | | Restore Azure MySQL flexible server to a point in time via CLI | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/scripts/sample-cli-restore-server | | Configure same-zone high availability for MySQL flexible server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/scripts/sample-cli-same-zone-ha | | Configure slow query logging for MySQL flexible server via CLI | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/scripts/sample-cli-slow-query-logs | | Configure zone-redundant high availability for MySQL flexible server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/scripts/sample-cli-zone-redundant-ha |
| Topic | URL | |-------|-----| | Use Azure CLI commands to connect to MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/connect-azure-cli | | Connect Java applications to MySQL Flexible Server with JDBC | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/connect-java | | Connect Azure MySQL Flexible Server to Power BI Desktop | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/connect-with-powerbi-desktop | | Migrate Amazon RDS MySQL to Azure flexible server using data-in replication | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-migrate-rds-mysql-data-in-replication | | Store MySQL Flexible Server connection strings in Azure Key Vault | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/tutorial-add-mysql-connection-in-key-vault | | Migrate large MySQL databases with mydumper/myloader | https://learn.microsoft.com/en-us/azure/mysql/migrate/concepts-migrate-mydumper-myloader | | Migrate on-premises or VM MySQL to Azure flexible server using Import CLI | https://learn.microsoft.com/en-us/azure/mysql/migrate/migrate-external-mysql-import-cli | | Migrate MySQL data to Azure using MySQL Workbench | https://learn.microsoft.com/en-us/azure/mysql/migrate/mysql-on-premises-azure-db/09-data-migration-with-mysql-workbench |
| Topic | URL | |-------|-----| | Configure Azure Pipelines task for Azure MySQL deployments | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/azure-pipelines-deploy-database-task | | Plan for scheduled maintenance on MySQL Flexible Server | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-maintenance | | Create Azure Automation tasks for MySQL Flexible Server management | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/create-automation-tasks | | Move Azure MySQL Flexible Server between regions using geo-restore | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-move-regions | | Restore Azure MySQL Flexible Server from backup using CLI | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-restore-server-cli | | Restore Azure MySQL Flexible Server from backup via portal | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-restore-server-portal | | Use GitHub Actions to deploy changes to Azure MySQL | https://learn.microsoft.com/en-us/azure/mysql/flexible-server/quickstart-mysql-github-actions |
tools
Expert knowledge for Microsoft Foundry (aka Azure AI Foundry) development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when building Foundry agents with IQ retrieval, Entra RBAC, Azure OpenAI, M365/Teams publishing, or MCP tools, and other Microsoft Foundry related development tasks. Not for Microsoft Foundry Classic (use microsoft-foundry-classic), Microsoft Foundry Local (use microsoft-foundry-local), Microsoft Foundry Tools (use microsoft-foundry-tools).
tools
Expert knowledge for Microsoft Foundry Local (aka Azure AI Foundry Local) development including best practices, configuration, and integrations & coding patterns. Use when compiling HF models with Olive, managing local models via CLI, or building chat, embeddings, or transcription apps, and other Microsoft Foundry Local related development tasks. Not for Microsoft Foundry (use microsoft-foundry), Microsoft Foundry Classic (use microsoft-foundry-classic), Microsoft Foundry Tools (use microsoft-foundry-tools), Azure Local (use azure-local).
tools
Expert knowledge for Microsoft Foundry Classic (aka Azure AI Foundry classic) development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when configuring Foundry agents, routing Azure OpenAI models, integrating tools/RAG, securing endpoints, or deploying hubs, and other Microsoft Foundry Classic related development tasks. Not for Microsoft Foundry (use microsoft-foundry), Microsoft Foundry Local (use microsoft-foundry-local), Microsoft Foundry Tools (use microsoft-foundry-tools).
development
Expert knowledge for Azure Web PubSub development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when using WebSockets/MQTT, Socket.IO, Functions bindings, geo-replication, or Premium autoscale in Web PubSub, and other Azure Web PubSub related development tasks. Not for Azure SignalR Service (use azure-signalr-service), Azure Event Hubs (use azure-event-hubs), Azure Service Bus (use azure-service-bus), Azure Relay (use azure-relay).