Проблема подключения к порту 3306 для приложения MySQL - PullRequest
2 голосов
/ 13 августа 2010

Java-приложение, с которым я работаю, должно записывать свои результирующие данные в базу данных mysql, но всякий раз, когда я запускаю его, я получаю следующее исключение:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

по следующей причине:

Caused by: java.net.ConnectException: Connection refused

Естественно, мой следующий шаг состоял в том, чтобы проверить порт, к которому mysql пытался подключиться (3306).

$ telnet localhost 3306 
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

Мой следующий шаг должен был видеть, прослушивает ли порт 3306 вообще.

$ netstat -an|grep 3306
tcp        0      0 69.164.214.18:3306      0.0.0.0:*               LISTEN

Итак, в общем, порт прослушивает, но не принимает подключения?Должен признаться, я мало что знаю об этом, но кто-нибудь знает, что здесь происходит?

Ответы [ 2 ]

0 голосов
/ 02 ноября 2016

Контрольный список:

  1. Правило брандмауэра: Если ваш сервер запрещает / не разрешает порт 3306, не может подключиться к нему.
  2. Адрес привязки: если ваш адрес привязки 127.0.0.1 в конфигурации MySQL, вы должны изменить на 0.0.0.0 в [mysqld] в /etc/mysql/my.cnf
  3. Перезапустите службу: вам нужно запустить команду 'service mysql restart'

Удачи.

0 голосов
/ 16 августа 2010

Я понял это.Мне нужно было подключиться к mysql извне, но моя программа пыталась получить к нему локальный доступ.

...