2010-08-13 4 views
0

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

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 

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

+0

Возможно, вам нужно включить порт/приложение в список исключений брандмауэра ... поэтому удаленные подключения к порту разрешены ... :) – ultrajohn

+0

Ах да, извинения, я забыл включить, что добавил 3306 к iptables –

ответ

0

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

0

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

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

Удачи.

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