-3

我们有一个部落 MySQL 数据库来跟踪游戏中的玩家统计数据。我们的 MySQL 负责人目前不在,我们收到以下错误

[18:17:18 23] Error in Tablebuilder:
[18:17:18 23] Message: Unable to connect to any of the specified MySQL hosts.
[18:17:18 23] Native: -2147467259
[18:17:18 24] Source: MySql.Data
[18:17:18 24] StackTrace: at MySql.Data.MySqlClient.NativeDriver.Open()
at MySql.Data.MySqlClient.Driver.Open()
at MySql.Data.MySqlClient.Driver.Create(MySqlConnecti onStringBuilder settings)
at MySql.Data.MySqlClient.MySqlPool.GetPooledConnecti on()
at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
at MySql.Data.MySqlClient.MySqlPool.GetConnection()
at MySql.Data.MySqlClient.MySqlConnection.Open()
at PRoConEvents.CChatGUIDStatsLoggerBF3.tablebuilder( )
[18:17:18 24] InnerException: System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond    50.63.244.184:3306
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at MySql.Data.Common.StreamCreator.CreateSocketStream (IPAddress ip, Boolean unix)
at MySql.Data.Common.StreamCreator.GetStreamFromHost( String pipeName, String hostName, UInt32 timeout)
at MySql.Data.Common.StreamCreator.GetStream(UInt32 timeout)
at MySql.Data.MySqlClient.NativeDriver.Open()
[18:17:18 24] Error: System.NullReferenceException: Object reference not set to an instance of an object.
at PRoConEvents.CChatGUIDStatsLoggerBF3.tablebuilder( )

任何想法可能是什么问题?

4

2 回答 2

1

您应该从阅读错误消息开始。它们看起来像胡言乱语,但当你仔细阅读时,通常会有一部分告诉你发生了什么。

[18:17:18 24] InnerException: System.Net.Sockets.SocketException:
连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应 50.63.244.184 :3306

你现在应该:

  1. 从数据库服务器执行telnet localhost 3306,如果失败,是数据库服务器的问题
  2. 从应用服务器执行telnet 50.63.244.184 3306,如果失败,是网络问题
于 2013-06-29T11:35:28.633 回答
0

您有两个例外,它们经过测试,但含义很明确:

"Unable to connect to any of the specified MySQL hosts."

"A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond"

简而言之:您的网络服务器无法连接到您的数据库服务器。您的数据库服务器(MySQL 服务器进程mysqld.exe或服务器本身,如其操作系统、硬件等)可能会停止。或者防火墙被重置以阻止 MySQL 端口 3306 上的连接。它可以是任何东西

我假设您有一个标准的虚拟主机 - ping 他们并询问他们为什么您的数据库服务器无法运行。

...但在让自己难堪之前,请确保您的应用程序连接到正确的服务器(即生产数据库,而不是开发数据库或临时数据库)。看看你的连接字符串。

于 2013-06-29T11:35:12.707 回答