sql >> Database teknologi >  >> RDS >> Mysql

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

Dette er en indpakket undtagelse og ikke rigtig interessant. Det er grundårsagen af undtagelsen, som faktisk fortæller os noget om grundårsagen. Se venligst lidt længere i stacktrace. Chancen er stor for, at du så står over for en SQLException: Connection refused eller SQLException: Connection timed out .

Hvis dette også er sandt i dit tilfælde, så er alle mulige årsager:

  1. IP-adresse eller værtsnavn i JDBC URL er forkert.
  2. Værtsnavn i JDBC URL genkendes ikke af den lokale DNS-server.
  3. Portnummer mangler eller er forkert i JDBC URL.
  4. DB-serveren er nede.
  5. DB-serveren accepterer ikke TCP/IP-forbindelser.
  6. Noget mellem Java og DB blokerer forbindelser, f.eks. en firewall eller proxy.

For at løse det ene eller det ene, følg følgende råd:

  1. Bekræft og test dem med ping .
  2. Opdater DNS, eller brug IP-adressen i JDBC URL i stedet.
  3. Bekræft det baseret på my.cnf af MySQL DB.
  4. Start den.
  5. Bekræft, om mysqld er startet uden --skip-networking mulighed.
  6. Deaktiver firewall og/eller konfigurer firewall/proxy for at tillade/viderestille porten.

Forresten (og ikke relateret til det faktiske problem), behøver du ikke nødvendigvis at indlæse JDBC-driveren på hver getConnection() opkald. Kun én gang under opstart er nok.



  1. Hvad betyder det at bruge parenteser med en OR i SQL?

  2. Præstationstestmetoder:Opdagelse af en ny måde

  3. Sådan sikkerhedskopieres din Moodle MySQL-database

  4. SYSUTCDATETIME() Eksempler i SQL Server (T-SQL)