将asp.net mvc应用程序重新连接到移动的mysql数据库时出现问题

xmq68pz9  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(233)

我正在维护一个在azure中运行的旧的旧的asp.net mvc3 web应用程序。该应用程序连接到prem服务器(版本5.1.44)上的mysql,该服务器即将因年老而死亡。。。所以dba正在准备迁移到一个更新的服务器,并准备了一个数据库的测试示例。所以你认为只有连接字符串需要更改,对吗?
看来没那么容易。重要的是要知道;通过实体框架(版本4.4.0.0)访问数据库。我使用的是mysql.data ado.net驱动程序的版本6.9.9.0。mysql.data.entity的版本相同。当时,选择了“数据库优先”的方法,这给了我在其他方面的痛苦(我正致力于先用代码重写数据层,但还远没有准备好)。
这就是我连接到新服务器(运行mysql 5.7.20)时得到的结果。

[MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.]
   MySql.Data.MySqlClient.NativeDriver.Open() +1228
   MySql.Data.MySqlClient.Driver.Open() +22
   MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings) +218
   MySql.Data.MySqlClient.MySqlPool.GetPooledConnection() +287
   MySql.Data.MySqlClient.MySqlPool.TryToGetDriver() +93
   MySql.Data.MySqlClient.MySqlPool.GetConnection() +65
   MySql.Data.MySqlClient.MySqlConnection.Open() +566
   System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure) +41

[EntityException: The underlying provider failed on Open.]
   System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure) +207
   System.Data.EntityClient.EntityConnection.Open() +104
   System.Data.Objects.ObjectContext.EnsureConnection() +75
   System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) +41

因此,我猜我的应用程序的依赖关系与较新的mysql服务器不兼容,但我没有什么信息可以继续。所以首先,我需要知道这是否是真的。因为当我从visualstudio连接到新服务器时,连接不会失败。
希望能有所了解。。。

0ve6wy6x

0ve6wy6x1#

所以这是一个反复尝试的过程,但问题通过恢复mysql的默认端口(3306)得到了解决
最初,dba通过一个非标准端口提供数据库,结果证明这不是一个好主意。没有深入调查,所以我不确定这是否真的是双方的防火墙问题。

相关问题