2013-06-29 5 views
-3

У нас есть база данных кланов MySQL, которая отслеживает статистику игроков в игре. Там человек, отвечающий за наш 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() 

Любые идеи, что может быть проблема?

+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 или сам сервер, как и его ОС, аппаратное обеспечение, все) может быть остановлен. Или брандмауэр был сброшен для блокировки соединений на порту 3306 MySQL. Это может быть что угодно.

Я предполагаю, что у вас есть стандартный веб-хост - пинги и спросите их, почему ваш сервер базы данных не работает.

... но перед тем, как вы смутитесь, убедитесь, что ваше приложение подключается к правильному серверу (то есть производственной БД, а не dev или промежуточной БД). Взгляните на строку подключения.

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» в строке 1 –

+0

@RickyAdams: telnet - это команда linux, а не команда MySQL –

Смежные вопросы