我们有一个部落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( )
任何想法可能是什么问题?
答案 0 :(得分:1)
您应该首先阅读错误消息。它们看起来像胡言乱语,但是当你仔细阅读时,通常会有一个部分告诉你发生了什么。
[18:17:18 24] InnerException:System.Net.Sockets.SocketException:
连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应50.63.244.184:3306
你现在应该:
telnet localhost 3306
,如果失败,则表明数据库服务器存在问题telnet 50.63.244.184 3306
,如果失败,则表明网络存在问题答案 1 :(得分: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它们并询问它们为什么您的数据库服务器无法正常运行。
...但在您自己尴尬之前,请确保您的应用程序连接到正确的服务器(即生产数据库,而不是开发人员或暂存数据库)。看看你的连接字符串。