Проблема подключения к порту 3306 для приложения mysql
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 ответов:
Я понял это. Мне нужно было подключиться к mysql извне, но моя программа пыталась получить доступ к нему локально.
Контрольный список:
- Правило брандмауэра: если ваш сервер запрещает / не разрешает порт 3306, не удается его подключить.
- Адрес привязки: если ваш адрес привязки 127.0.0.1 в конфигурации MySQL, вы должны изменить на 0.0.0.0 в [mysqld] на /etc / mysql / my.cnf
- перезапуск службы: вы должны выполнить команду "service mysql restart"
Удачи.
Comments