Troubleshoot connection issues to Azure Database for MariaDB
Important
Azure Database for MariaDB is on the retirement path. We strongly recommend that you migrate to Azure Database for MySQL. For more information about migrating to Azure Database for MySQL, see What's happening to Azure Database for MariaDB?.
Connection problems may be caused by a variety of things, including:
- Firewall settings
- Connection time-out
- Incorrect login information
- Maximum limit reached on some Azure Database for MariaDB resources
- Issues with the infrastructure of the service
- Maintenance being performed in the service
- The compute allocation of the server is changed by scaling the number of vCores or moving to a different service tier
Generally, connection issues to Azure Database for MariaDB can be classified as follows:
- Transient errors (short-lived or intermittent)
- Persistent or non-transient errors (errors that regularly recur)
Troubleshoot transient errors
Transient errors occur when maintenance is performed, the system encounters an error with the hardware or software, or you change the vCores or service tier of your server. The Azure Database for MariaDB service has built-in high availability and is designed to mitigate these types of problems automatically. However, your application loses its connection to the server for a short period of time of typically less than 60 seconds at most. Some events can occasionally take longer to mitigate, such as when a large transaction causes a long-running recovery.
Steps to resolve transient connectivity issues
- Check the Microsoft Azure Service Dashboard for any known outages that occurred during the time in which the errors were reported by the application.
- Applications that connect to a cloud service such as Azure Database for MariaDB should expect transient errors and implement retry logic to handle these errors instead of surfacing these as application errors to users. Review Handling of transient connectivity errors for Azure Database for MariaDB for best practices and design guidelines for handling transient errors.
- As a server approaches its resource limits, errors can seem to be transient connectivity issue. See Limitations in Azure Database for MariaDB.
- If connectivity problems continue, or if the duration for which your application encounters the error exceeds 60 seconds or if you see multiple occurrences of the error in a given day, file an Azure support request by selecting Get Support on the Azure Support site.
Troubleshoot persistent errors
If the application persistently fails to connect to Azure Database for MariaDB, it usually indicates an issue with one of the following:
- Firewall configuration: The Azure Database for MariaDB server or client-side firewall is blocking connections.
- Network reconfiguration on the client side: A new IP address or a proxy server was added.
- User error: For example, you may have mistyped connection parameters, such as the server name in the connection string or a missing @servername suffix in the user name.
Steps to resolve persistent connectivity issues
- Set up firewall rules to allow the client IP address. For temporary testing purposes only, set up a firewall rule using 0.0.0.0 as the starting IP address and using 255.255.255.255 as the ending IP address. This will open the server to all IP addresses. If this resolves your connectivity issue, remove this rule and create a firewall rule for an appropriately limited IP address or address range.
- On all firewalls between the client and the internet, make sure that port 3306 is open for outbound connections.
- Verify your connection string and other connection settings. Review How to connect applications to Azure Database for MariaDB.
- Check the service health in the dashboard. If you think there's a regional outage, see Overview of business continuity with Azure Database for MariaDB for steps to recover to a new region.