随机无法从Azure连接到On-Premise MySql

时间:2018-02-22 15:15:18

标签: c# mysql .net azure

我们在Azure云(App服务/功能应用程序)中使用不同的服务连接到Ubuntu上的On-Premise MySql数据库。这种工作时间非常好,但有时甚至完全随机我们收到了以下错误。

详情:

连接工作时间最长,一切似乎都配置正确。仅有时例如每27个请求都会出错。我假设收到的错误消息可能是错误的。

我们日志中提取的示例:

2018-02-21 15:53:55.647 +00:00 [Error] Microsoft.EntityFrameworkCore.Database.Connection: An error occurred using the connection to database 'XXXXXXX' on server 'XXX.XXX.XXX.XXX'.
MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.
   at MySqlConnector.Core.ServerSession.<ConnectAsync>d__56.MoveNext() in C:\projects\mysqlconnector\src\MySqlConnector\Core\ServerSession.cs:line 212

我们从不同的站点连接到此数据库,但此错误仅出现在Azure云中。 我们多次仔细检查连接字符串,防火墙设置和传出IP。

连接字符串:

Persist Security Info=True;server=xxx.xxx.xxx.xxx;database=xxxxxx;uid=xxxxx;password=xxxxx;port=3306;

在某些日子里,我们没有收到此错误,但是在前几天每天多次并且完全随机。很高兴从您那里获得帮助以确定问题并尽快解决。非常感谢!

1 个答案:

答案 0 :(得分:1)

没有代码示例很难提供帮助 你只能查看常见的东西:
- 连接字符串正确的顺序
 “Server = TheServerAddress; Port = YourPortNumber; Database = YourDatabase; Uid = YourUsername; Pwd = YourPassword;”

- 添加默认端口。例:3306连接线

- 检查查询代码是否异步,以及其他应用程序中是否相同

您也可以尝试重试:
https://blogs.msdn.microsoft.com/bartr/2010/06/20/sql-azure-connection-retry-update/
 http://peterkellner.net/2011/01/21/sqlazure-connection-retry-problem-using-best-practices/