TL;DR
- Azure Database for MySQL has no built-in phpMyAdmin-style data browser — you can only view metrics and configuration in the Azure Portal.
- Five practical options exist: Azure Data Studio, MySQL Workbench, DBeaver, self-hosted Adminer, and DBEverywhere (hosted phpMyAdmin/Adminer).
- Azure firewall rules require adding each client IP manually; DBEverywhere's single static IP simplifies this.
- DBEverywhere connects from any browser in 60 seconds — no desktop software, no Docker, no Azure App Service deployment.
- Free tier: 5 sessions/month. Paid: $5/mo for unlimited sessions, saved connections, and SSH tunnel support.
Table of Contents
- The Azure MySQL GUI problem
- Azure Database for MySQL: what you get and what you do not
- 5 ways to get an Azure database MySQL GUI
- Side-by-side comparison of all 5 options
- Setting up Azure firewall rules for external database access
- Connecting DBEverywhere to Azure Database for MySQL
- Azure MySQL Flexible Server vs Single Server: what changed
- FAQ
Azure Database for MySQL GUI: 5 Ways to Manage Your Data
If you are running Azure Database for MySQL, you have likely noticed a conspicuous absence in the Azure Portal: there is no built-in Azure database MySQL GUI for browsing tables, editing rows, or running ad-hoc queries. The Azure Portal gives you metrics dashboards, server configuration, connection strings, and scaling controls — but no way to actually see your data.
Microsoft retired the Azure Portal query editor preview for MySQL in 2023, leaving a gap that affects everyone from solo developers to enterprise teams. You can provision a Flexible Server in under five minutes, but interacting with the data inside it requires a separate tool.
This article is for developers and database administrators who need a visual interface for Azure Database for MySQL and want to understand all available options. We will walk through five methods — from desktop applications to browser-based tools — and include the Azure firewall configuration steps needed for each.
Azure Database for MySQL: what you get and what you do not
Azure Database for MySQL Flexible Server is Microsoft's managed MySQL offering, supporting MySQL 5.7 and 8.0. Pricing starts at approximately $12.41/month for a Burstable B1ms instance (1 vCPU, 2 GB RAM, 32 GB storage) in US East.
Here is what the Azure Portal provides:
- Server provisioning and scaling
- Automated backups with up to 35 days retention
- High availability with zone-redundant configurations
- Metrics and diagnostics (query performance insights, slow query logs)
- Firewall rules and Virtual Network (VNet) integration
- Connection strings for various languages
Here is what it does not provide:
- No table browser — you cannot view or edit row data
- No query editor — the preview was removed; no replacement shipped
- No schema visualization — no ER diagrams or table structure views
- No data export/import wizard — you use CLI tools like
mysqldump
This stands in contrast to Azure SQL Database (the SQL Server product), which has a built-in query editor directly in the Azure Portal. MySQL users do not get the same treatment.
5 ways to get an Azure database MySQL GUI
1. Azure Data Studio
Azure Data Studio is Microsoft's free, cross-platform database tool. It is built primarily for SQL Server and PostgreSQL, but MySQL support was added as an extension. The reality is that MySQL support in Azure Data Studio is limited and buggy — community feedback on GitHub consistently reports issues with IntelliSense, connection stability, and missing features compared to the SQL Server experience.
Best for: Teams already using Azure Data Studio for SQL Server who occasionally need MySQL access.
Limitations: MySQL extension is community-maintained, not first-party. Missing features like table designer, visual query builder, and reliable auto-complete. Requires installation on each device (~300 MB download).
2. MySQL Workbench
MySQL Workbench is Oracle's official GUI for MySQL. It is free, runs on Windows, macOS, and Linux, and offers the most complete feature set of any desktop MySQL client: visual schema design, query editor with syntax highlighting, performance tuning tools, and data migration utilities.
Best for: Developers who work primarily with MySQL and need advanced features like ER diagram modeling or performance schema analysis.
Limitations: The application is heavy — it requires a 500+ MB installation with its own bundled libraries. The interface feels dated compared to modern tools. It must be installed on every machine you use. And critically, each machine's IP address must be added to Azure's firewall rules individually.
3. DBeaver
DBeaver is an open-source, multi-database GUI that supports MySQL, PostgreSQL, SQLite, Oracle, SQL Server, and dozens of other engines. The Community Edition is free; the Pro edition adds features like SSH tunneling, cloud storage integration, and visual query builder for $9.90/month.
Best for: Developers working with multiple database engines across projects. If you manage both MySQL on Azure and PostgreSQL on Neon or Fly.io, DBeaver handles both.
Limitations: Desktop application — requires installation per device and SSH key or IP whitelisting per device. The Community Edition lacks SSH tunnel support, which complicates connecting to Azure databases in VNet-integrated configurations.
4. Self-hosted Adminer on Azure App Service
You can deploy Adminer — a single-PHP-file database manager — on Azure App Service. This gives you a browser-based interface without installing desktop software. Adminer supports MySQL, PostgreSQL, SQLite, MS SQL, Oracle, and MongoDB in a single 478 KB file.
Best for: Teams that want browser-based access and are already invested in the Azure ecosystem.
Limitations: You are now managing another Azure resource. App Service pricing starts at $13.14/month for a B1 plan (1 vCPU, 1.75 GB RAM) — and you need to keep it updated, monitor it, and configure authentication yourself. If you deploy to the free F1 tier, you get only 60 CPU minutes/day and the instance shuts down after inactivity. You also need to configure VNet integration or firewall rules between the App Service and your MySQL server.
5. DBEverywhere (hosted phpMyAdmin and Adminer)
DBEverywhere provides hosted phpMyAdmin and Adminer as a service. You connect from your browser — no installation, no Docker, no Azure resource to manage. Add one static IP to your Azure firewall rules, enter your connection details, and you get a full database management interface.
Best for: Developers who want browser-based database access across multiple providers without managing infrastructure. Works on any device — laptop, tablet, borrowed machine.
Limitations: Requires your Azure MySQL server to accept connections from an external IP (most managed database workflows require this anyway). Free tier is limited to 5 sessions/month with 20-minute timeouts.
Side-by-side comparison of all 5 options
| Factor | Azure Data Studio | MySQL Workbench | DBeaver | Self-hosted Adminer | DBEverywhere |
|---|---|---|---|---|---|
| Cost | Free | Free | Free / $9.90/mo Pro | $13.14+/mo (App Service) | Free / $5/mo |
| Installation | Desktop app (~300 MB) | Desktop app (~500 MB) | Desktop app (~200 MB) | Deploy to App Service | None (browser) |
| Works on any device | No | No | No | Yes (browser) | Yes (browser) |
| MySQL support quality | Limited (extension) | Excellent (official) | Good (multi-DB) | Good (lightweight) | Excellent (phpMyAdmin) |
| IPs to whitelist | One per device | One per device | One per device | App Service outbound IPs | One static IP |
| Maintenance | Update app | Update app | Update app | Update App Service + Adminer | None |
| SSH tunnel support | Yes | Yes | Pro only ($9.90/mo) | No (use VNet) | Yes ($5/mo) |
| Setup time | 15-30 min | 15-30 min | 15-30 min | 30-60 min | 60 seconds |
The key differentiator for Azure specifically is the firewall rule situation. Azure Database for MySQL requires you to add every connecting IP address to the server firewall. Desktop tools mean adding a new rule for every device, every office, every developer's home IP — and updating them when IPs change. A single static IP from DBEverywhere simplifies this to one rule.
Setting up Azure firewall rules for external database access
Azure Database for MySQL Flexible Server blocks all external connections by default. You must explicitly create firewall rules in the Azure Portal. Here is how.
Step 1: Navigate to your MySQL Flexible Server in the Azure Portal.
Go to Azure Portal > All Resources > [Your MySQL Server] > Networking (under the Settings section).
Step 2: Choose your connectivity method.
Azure offers two options: - Public access (allowed IP addresses) — firewall rules allow specific IPs through the public endpoint - Private access (VNet Integration) — the server is only accessible from within a Virtual Network
For browser-based tools like DBEverywhere, you need public access enabled.
Step 3: Add a firewall rule.
Under the Firewall rules section, click Add current client IP address (for your own IP) or add a custom rule:
- Rule name:
dbeverywhere-gateway - Start IP address:
<DBEverywhere-IP> - End IP address:
<DBEverywhere-IP>
Setting the start and end IP to the same value restricts access to exactly one address — equivalent to a /32 CIDR rule.
Step 4: Save and wait for propagation.
Click Save. Azure firewall rule changes typically take up to 5 minutes to propagate. During this time, connections from the new IP may be refused.
Step 5: Verify SSL requirements.
Azure Database for MySQL enforces SSL by default. The require_secure_transport server parameter is set to ON. DBEverywhere connects over TLS, so this works without any configuration changes. If you are using other tools, make sure they support SSL connections — MySQL Workbench and DBeaver both do, but you may need to download the Azure SSL certificate and configure it in the client.
Important: Azure also provides the option to "Allow public access from any Azure service". This checkbox allows any resource within Azure's IP range to connect to your database. This is convenient but overly broad — it opens your database to any Azure customer's service, not just yours. We recommend using specific IP rules instead.
Connecting DBEverywhere to Azure Database for MySQL
With the firewall rule in place, connecting takes under a minute.
- Go to dbeverywhere.com and sign up.
- Click Connect.
- Enter your Azure MySQL connection details:
- Host:
your-server-name.mysql.database.azure.com - Port:
3306 - Username:
youradmin(Azure appends the server name for Single Server, but Flexible Server uses plain usernames) - Password: the admin password you set during provisioning
- Database: your database name
- Click Connect.
You now have a full phpMyAdmin or Adminer interface displaying your Azure MySQL data. Browse tables, run queries, export results, manage users — all from the browser.
Credentials are used for the live session and are not stored unless you enable saved connections on the paid tier. See our security overview for details on how sessions are isolated.
Azure MySQL Flexible Server vs Single Server: what changed
If you have been on Azure for a while, you may remember Azure Database for MySQL Single Server. Microsoft announced its retirement with end-of-support on September 16, 2024, and all remaining Single Server instances are being migrated to Flexible Server.
Key differences that affect database management:
| Feature | Single Server (retired) | Flexible Server |
|---|---|---|
| Username format | user@servername |
user (plain) |
| Default SSL | Required | Required (configurable) |
| VNet support | Service endpoints only | Full VNet integration |
| Zone redundancy | No | Yes |
| Stop/start | No | Yes (cost savings) |
| Pricing | From ~$25/mo | From ~$12.41/mo |
The username format change is the most common source of connection errors during migration. If you are getting "Access denied" errors after migrating to Flexible Server, check whether you are still appending @servername to your username — Flexible Server does not use this format.
Flexible Server also introduced the ability to stop and start your database, which can cut costs for development and staging environments. A stopped Flexible Server costs zero compute — you only pay for storage. This pairs well with on-demand database management through DBEverywhere: stop the server when not in use, start it when you need to work, connect through the browser, and stop it again.
FAQ
Can DBEverywhere connect to Azure MySQL through a Virtual Network?
Not directly. If your Azure MySQL server uses private access only (VNet Integration with no public endpoint), external connections are blocked by design. DBEverywhere's paid tier ($5/month) supports SSH tunnel connections — you would need a VM inside the VNet acting as a bastion host. Alternatively, you can enable both public and private access on Flexible Server and restrict public access to DBEverywhere's static IP.
How does Azure MySQL pricing compare to running your own server?
Azure Database for MySQL Flexible Server starts at $12.41/month for a Burstable B1ms instance. A comparable Vultr VPS with 1 vCPU and 2 GB RAM costs $12/month but requires you to manage MySQL yourself. The managed service adds automated backups, patching, monitoring, and high availability options. For production databases, the managed service usually saves time. For development or side projects, self-hosted MySQL on a cheap VPS is significantly more affordable.
Does DBEverywhere support Azure Database for PostgreSQL?
Yes. Azure offers managed PostgreSQL through Flexible Server as well. DBEverywhere connects to PostgreSQL databases using Adminer instead of phpMyAdmin. The connection process is identical — add the static IP to your Azure PostgreSQL firewall rules and enter your connection details. See our Adminer vs phpMyAdmin comparison for how the two interfaces differ.
Can I use the Azure Portal query editor instead?
Microsoft had a preview query editor for Azure Database for MySQL in the Azure Portal, but it was retired in 2023 and no replacement has been announced for Flexible Server. Azure SQL Database (the SQL Server product) still has an in-portal query editor, but MySQL users do not have this option. This is one of the primary reasons developers look for external GUI tools.
Is the connection from DBEverywhere to Azure encrypted?
Yes. Azure Database for MySQL enforces SSL/TLS by default (require_secure_transport = ON). DBEverywhere connects over TLS, so all data in transit between the gateway and your Azure database is encrypted. The connection between your browser and DBEverywhere is also encrypted via HTTPS. At no point does data travel unencrypted.
Conclusion
Azure Database for MySQL is a capable managed database service, but it ships with no built-in Azure database MySQL GUI for day-to-day data work. Microsoft's own tools are either SQL Server-focused (Azure Data Studio) or retired (the Portal query editor preview). Desktop clients like MySQL Workbench and DBeaver work but require installation on every device and a firewall rule for every IP address.
DBEverywhere takes a different approach: one static IP in your Azure firewall, and you get hosted phpMyAdmin or Adminer from any browser. No installation, no App Service to manage, no per-device firewall rules. The free tier handles occasional database work. The paid tier at $5/month covers daily use with unlimited sessions, 8-hour timeouts, and saved connections.
Your Azure database should be managed, not your database management tool.
Try DBEverywhere free — connect to your Azure MySQL database in 60 seconds
Try DBEverywhere Free
Access your database from any browser. No installation, no Docker, no SSH tunnels.
Get Started