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

Kunne ikke åbne JPA EntityManager for transaktion; indlejret undtagelse er javax.persistence.PersistenceException

Der er CommunicationsException:Communications link failure.

Hvis du får en SQLException:Forbindelse nægtet eller Forbindelse timeout eller en MySQL-specifik

CommunicationsException: Communications link failure

så betyder det, at DB'en slet ikke er tilgængelig. Dette kan have en eller flere af følgende årsager:

  • IP-adresse eller værtsnavn i JDBC URL er forkert.
  • Værtsnavn i JDBC URL genkendes ikke af den lokale DNS-server.
  • Portnummer mangler eller er forkert i JDBC URL.
  • DB-serveren er nede.
  • DB-serveren accepterer ikke TCP/IP-forbindelser.
  • DB-serveren er løbet tør for forbindelser.
  • Noget mellem Java og DB blokerer forbindelser, f.eks. en firewall eller proxy.

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

  • Bekræft og test dem med ping.
  • Opdater DNS, eller brug IP-adressen i JDBC URL i stedet.
  • Bekræft det baseret på my.cnf i MySQL DB.
  • Start DB.
  • Bekræft, om mysqld er startet uden --skip-netværksindstillingen.
  • Genstart databasen og ret din kode i overensstemmelse hermed, så den lukker forbindelser til sidst.
  • Deaktiver firewall og/eller konfigurer firewall/proxy for at tillade/viderestille porten.

Kilde:Flere oplysninger



  1. Hvordan Sinh() virker i PostgreSQL

  2. Percona 5.6 Docker Image kan ikke indlæse min /etc/mysql/conf.d/*.cnf

  3. Sådan får du vist status og systemvariabler i MySQL Workbench ved hjælp af GUI

  4. Lær hvordan du bruger SQL SELECT med eksempler