2013-06-29 158 views
-3

我們有一個部落MySQL數據庫,用於跟蹤遊戲中的玩家統計數據。我們的MySQL負責人目前不在,我們正在收到以下錯誤無法連接到MySQL datebase

[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() 

任何想法可能是什麼問題?

+8

您的應用程序無法連接到數據庫。 –

+0

你確定IP地址或域名是正確的嗎? – jAC

+1

如果你周圍沒有人知道他們對MySQL或你的代碼庫的認識,我不確定我們能幫你。我的猜測是你的數據庫服務器關閉了。 – millimoose

回答

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他們,並問他們爲什麼你的數據庫服務器不可操作。

......但是在您讓自己難堪之前,請確保您的應用程序連接到正確的服務器(即生產數據庫,而不是開發數據庫或臨時數據庫)。看看你的連接字符串。

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從應用程序服務器,如果它失敗,這是網絡的問題
+0

SQL查詢: EXECUTE telnet localhost3306 MySQL說:文檔 #1064 - 您的SQL語法錯誤;檢查對應於你的MySQL服務器版本的手冊,在第一行使用'localhost 3306'附近的正確語法 –

+0

@RickyAdams:telnet是一個linux命令,而不是MySQL命令 –