解决 Azure Databases for MariaDB 的连接问题
重要
Azure Database for MariaDB 已列入停用计划。 强烈建议迁移到 Azure Database for MySQL。 若要详细了解如何迁移到 Azure Database for MySQL,请参阅 Azure Database for MariaDB 发生了什么?。
连接问题可能由多种因素造成,包括:
- 防火墙设置
- 连接超时
- 不正确的登录信息
- 某些 Azure Database for MariaDB 资源达到了最大限制
- 服务的基础结构出现问题
- 正在服务中执行维护
- 通过缩放 vCore 数目或移到不同的服务层级更改了服务器的计算资源分配
通常,Azure Database for MariaDB 的连接问题可按如下方式分类:
- 暂时性错误(短暂或间歇性)
- 持久或非暂时性错误(定期重复发生的错误)
对暂时性错误进行故障排除
在执行维护、系统遇到硬件或软件错误,或更改服务器的 vCore 数目或服务层级时,会发生暂时性错误。 Azure Database for MariaDB 服务具有内置的高可用性,可以自动缓解此类问题。 但是,应用程序会短暂地与服务器断开连接,通常不会超过 60 秒。 某些事件偶尔可能需要更长的时间才能缓解,例如,当某个大型事务导致恢复长时间运行时。
解决暂时性连接问题的步骤
- 检查 Azure 服务仪表板,了解在由应用程序报告错误期间是否发生任何已知的服务中断。
- 连接到云服务的应用程序(例如 Azure Database for MariaDB)应预料到会发生暂时性错误,并实施重试逻辑来处理这些错误,而不是将它们作为应用程序错误展现给用户。 查看处理 Azure Database for MariaDB 的暂时性连接错误,了解有关处理暂时性错误的最佳做法和设计准则。
- 由于服务器即将达到其资源限制,错误可能看起来像是暂时性连接问题。 请参阅 Azure Database for MariaDB 中的限制。
- 如果连接问题继续存在,或者应用程序发生错误的持续时间超过 60 秒或在特定的一天中看到错误多次发生,请通过在 Azure 支持网站上选择“获取支持”提出 Azure 支持请求。
排查一再出现的错误
如果应用程序一直无法连接到 Azure Database for MariaDB,通常表示下列其中一项出现了问题:
- 防火墙配置:Azure Database for MariaDB 服务器或客户端防火墙正在阻止连接。
- 客户端上的网络重新配置:添加了新的 IP 地址或代理服务器。
- 用户错误:例如,连接参数的键入错误(例如,在连接字符串中键入了服务器名称,或者在用户名中遗漏了 @servername 后缀)。
解决永久性连接问题的步骤
- 设置防火墙规则以允许客户端 IP 地址。 (仅出于临时测试目的)使用 0.0.0.0 作为起始 IP 地址,使用 255.255.255.255 作为结束 IP 地址,来设置一个防火墙规则。 这样会使服务器向所有 IP 地址开放。 如果这样可以解决连接性问题,请删除此规则,再针对适当限制的 IP 地址或地址范围创建防火墙规则。
- 在客户端与 Internet 之间的所有防火墙上,确保为出站连接打开端口 3306。
- 验证连接字符串和其他连接设置。 查看如何将应用程序连接到 Azure Database for MariaDB。
- 在仪表板中检查服务运行状况。 如果你认为发生了区域性服务中断,请参阅有关使用 Azure Database for MariaDB 确保业务连续性的概述,了解恢复到新区域所要执行的步骤。