Worin besteht das Problem? Kann keine Verbindung zur Datenbank herstellen?
org.Apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (
Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)
Dies ist die tatsächliche Ursache des Problems:
Verursacht durch: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Kommunikationsverbindungsfehler
Sie haben ein Problem mit der Datenbankkommunikationsverbindung. Stellen Sie sicher, dass Ihre Anwendung über Netzwerkzugriff auf Ihre Datenbank verfügt (und die Firewall keine Ports für Ihre Datenbank blockiert).
Dies ist ein Netzwerkproblem. Überprüfen Sie Ihre Datenbankverbindung. Entweder ist Ihre Datenbankverbindungsverbindung, Benutzername und Kennwort falsch oder Ihr Datenbankserver wurde angehalten.
Ich hatte das gleiche Problem mit localhost
in der Quell-URL .__ Ich löste mich mit 127.0.0.1
anstelle von localhost
.
Hier wurde es von Avast Antivirus verursacht. Sie können die avast-Firewall deaktivieren und nur die Windows-Firewall aktivieren.
Ich stelle dasselbe Problem fest, wenn ich Tomcat und den Mysql-Server unter Verwendung von Chef auf VirtualBox VM einrichte.
in diesem Fall denke ich, das wahre Problem ist, dass VirtualBox eth0 gerne eine nicht-localhost-Adresse zuweist
[[email protected] webapps]$ /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:60:FC:47
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
dann die automatische Erkennungsfunktion des Kochrezepts unter Verwendung von 10.0.2.15 als MySQL-Server-Bindeadresse.
geben Sie daher die Bindeadresse für Knotenparameter des Kochrezepts an, um das Problem in meinem Fall zu lösen. Ich hoffe, diese Informationen helfen Menschen, die einen Küchenchef mit Landstreicher verwenden.
{
"name" : "db",
"default_attributes" : {
"mysql" : {
"bind_address" : "localhost"
...
}
Dies geschieht, weil die Firewall die Datenbankverbindung blockiert.
Deaktivieren Sie die Firewall und starten Sie das Programm erneut. Es hat für mich funktioniert ...: D
Das Problem könnte daran liegen, dass zu viele Benutzer gleichzeitig auf die Datenbank zugreifen. Erhöhen Sie entweder die Anzahl der Benutzer, die gleichzeitig auf die Datenbank zugreifen können, oder entfernen Sie vorhandene Benutzer (oder Apps). Verwenden Sie "Show processlist;" in der Host-DB, um verbundene Benutzer zu überprüfen;
Ich bin auf einen anderen Grund gestoßen, nämlich die Datei "catalina.policy", die den Zugriff auf bestimmte IP/PORT-Adressen verhindern könnte
Gehen Sie zu my.ini
-Datei unter dem folgenden Pfad in Windows C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
und kommentieren Sie die untere Zeile
#bind-address=127.0.0.1
Starten Sie anschließend den MySQL-Server neu und stellen Sie eine Verbindung her.
Dann können Sie sich von anderen IP-Adressen/Rechnern aus mit MySQL verbinden.
Ich habe die Treiberversion in pom.xml geändert und mir geholfen
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.2</version>
</dependency>
In meinem Fall bestand die Lösung darin, das Attribut zu entfernen
validationQuery="select 1"
vom Ressourcen-Tag (Derby DB).
Dieses spezielle Problem kann auch in localhost auftreten. Wir können nicht ausschließen, dass dies ein Problem mit dem Netzwerk oder der Internetverbindung ist. Dieses Problem wird auftreten, obwohl alle Datenbankverbindungseigenschaften korrekt sind.
Ich habe das gleiche Problem konfrontiert, wenn ich den Hostnamen verwendet habe. Verwenden Sie stattdessen die IP-Adresse. Es wird gelöst.