无法连接到MySQL数据库

时间:2013-06-29 11:25:15

标签: mysql sql

我们有一个部落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( )

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

2 个答案:

答案 0 :(得分: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,如果失败,则表明网络存在问题

答案 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它们并询问它们为什么您的数据库服务器无法正常运行。

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