Mysql
 sql >> база данни >  >> RDS >> Mysql

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Неизправност на комуникационната връзка

Това е обвито изключение и не е особено интересно. Това е основната причина на изключението, което всъщност ни казва нещо за първопричината. Моля, погледнете малко по-нататък в стека. Шансът е голям след това да се сблъскате с SQLException: Connection refused или SQLException: Connection timed out .

Ако това е вярно и във вашия случай, тогава всички възможни причини са:

  1. IP адресът или името на хоста в URL адреса на JDBC е грешен.
  2. Името на хост в JDBC URL не се разпознава от локалния DNS сървър.
  3. Номерът на порта липсва или е грешен в URL адреса на JDBC.
  4. DB сървърът не работи.
  5. DB сървърът не приема TCP/IP връзки.
  6. Нещо между Java и DB блокира връзките, напр. защитна стена или прокси.

За да разрешите едното или едното, следвайте следните съвети:

  1. Проверете и тествайте ги с ping .
  2. Опреснете DNS или вместо това използвайте IP адрес в JDBC URL.
  3. Проверете го въз основа на my.cnf на MySQL DB.
  4. Започнете.
  5. Проверете дали mysqld се стартира без --skip-networking опция.
  6. Деактивирайте защитната стена и/или конфигурирайте защитната стена/прокси сървъра за разрешаване/пренасочване на порта.

Между другото (и несвързано с действителния проблем), не е задължително да зареждате JDBC драйвера на всеки getConnection() обадете се. Само веднъж по време на стартиране е достатъчно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да съединя две таблици mysql?

  2. Има ли еквивалент на Profiler за MySql?

  3. JSON_DEPTH() – Намерете максималната дълбочина на JSON документ в MySQL

  4. WEEKDAY() Примери – MySQL

  5. Ръководство за проектиране на база данни за RBAC в MySQL