GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kommunikationsausnahme für MySQL-Java-Datenbankkonnektivität

Java Database Connectivity (JDBC) ist die Java-API, mit der Sie Abfragen und Befehle in einer Datenbank abrufen und ausführen können.

Dieser Artikel beschreibt einige Schritte zur Fehlerbehebung bei com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure Fehler, der auftritt, wenn Sie versuchen, mithilfe von JDBC eine Verbindung zu einer Datenbank herzustellen.

Der Communications link failure Fehler tritt auf, wenn die Datenbank nicht erreichbar ist. Im Folgenden sind die möglichen Ursachen und ihre Lösungen aufgeführt:

Die IP-Adresse oder der Hostname in der JDBC-URL ist falsch.

Überprüfen und testen Sie, ob der Hostname oder die IP-Adresse antworten kann, indem Sie ping verwenden .

Der lokale DNS-Server erkennt den Hostnamen in der JDBC-URL

Aktualisieren Sie Ihr DNS oder verwenden Sie die IP-Adresse in der JDBC-URL stattdessen.

Die Portnummer fehlt oder ist in der JDBC-URL falsch

Stellen Sie sicher, dass die IP in der MySQL®-Datenbank my.cnf richtig konfiguriert ist Datei mit Ihrem bevorzugten Texteditor.

Um die my.cnf zu finden führen Sie den folgenden Befehl aus, um Ihre MySQL-Einstellungen zu überprüfen:

mysql --help | grep "Default options" -A 1 

Wenn Sie die Datei immer noch nicht finden können, versuchen Sie, den folgenden Befehl auszuführen:

find / -name my.cnf

Sie können auch an den Standardspeicherorten suchen:

  • /etc/my.cnf
  • /etc/mysql/my.cnf
  • /usr/etc/my.cnf
  • ~/.my.cnf

Der Datenbankserver akzeptiert keine TCP/IP-Verbindungen

Stellen Sie sicher, dass die Datei mysqld Dienst läuft. Um den Status von mysqld zu überprüfen führen Sie je nach Ihrer Linux®-Distribution die folgenden Befehle aus:

Für CentOS® 6 oder Red Hat® Enterprise Linux® (RHEL) 6:

service mariadb status

Für CentOS 7+ oder RHEL 7+:

systemctl status mariadb.service

Für das Betriebssystem Ubuntu®:

/etc/init.d/mysql status

Die Datenbank ist heruntergefahren oder ausgeschaltet

Führen Sie den folgenden Befehl aus, um die MySQL-Datenbank zu starten:

Für CentOS 6 / RHEL 6:

service mariadb start

Für CentOS 7+ / RHEL 7+:

systemctl start mariadb.service

Für das Ubuntu-Betriebssystem:

/etc/init.d/mysql start

Der Datenbankserver hat keine Verbindungen mehr

Starten Sie die Datenbank neu und prüfen Sie, ob Ihr Code beim Schließen der Verbindungen ein Problem hat.

Verbindungen zwischen Java und DB blockieren die Kommunikation

Deaktivieren Sie die Firewall oder den Proxy. Alternativ können Sie sie so konfigurieren, dass sie den Port zulassen oder weiterleiten. Wenn Sie CentOS 6/RHEL 6 verwenden, lesen Sie den Artikel zu iptables.


Linux
  1. Häufig gestellte Fragen zur MySQL-Bereitstellung

  2. MySQL-Datenbank optimieren

  3. So kopieren Sie eine MySQL-Datenbank

  4. Verbessern Sie das Cachen von MySQL-Datenbanken

  5. So erstellen Sie eine Datenbank in MySQL mit MySQL Workbench

So sichern und wiederherstellen Sie eine MySQL-Datenbank

Tabellen in einer MySQL-Datenbank auflisten

MySQL-Datenbankserver

Wie man eine Datenbank in MySQL erstellt

MySQL-Übersicht

MySQL-Datenbank vom USB-Stick