Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verbindung zu MariaDB von der Java-Anwendung in NetBeans unter Linux (Mageia)

Anscheinend versuchen Sie, jdbc:mariadb://... zu verwenden um mit dem MySQL JDBC-Treiber eine Verbindung zu einer MariaDB-Serverinstanz herzustellen. Das wird wahrscheinlich nicht funktionieren, weil der MySQL JDBC-Treiber jdbc:mysql://... verwenden würde , unabhängig davon, ob eine Verbindung zu einem MySQL-Server oder einem MariaDB-Server hergestellt wird. Das heißt, die Verbindungszeichenfolge muss mit dem Treiber übereinstimmen der verwendet wird (und nicht der Datenbankserver, auf den zugegriffen wird).

Die MySQL- und MariaDB-Treiber sollen einigermaßen austauschbar sein, aber es erscheint sinnvoll, den MariaDB-Connector nur beim Zugriff auf einen MariaDB-Server zu verwenden. Für das, was es wert ist, die Kombination von mariadb-java-client-1.1.7.jar

und

Connection con = DriverManager.getConnection(
        "jdbc:mariadb://localhost/project", 
        "root", 
        "whatever");

hat für mich funktioniert. Ich habe die MariaDB Client Library für Java von hier heruntergeladen:

https://downloads.mariadb.org/client-java/1.1.7/

auf die ich über

gelangt bin

https://downloads.mariadb.org/

Zusätzliche Anmerkungen:

  1. Es ist kein Class.forName() erforderlich -Anweisung in Ihrem Java-Code.

  2. Die Standardkonfiguration für MariaDB unter Mageia kann das skip-networking enthalten Direktive in /etc/my.cnf . Sie müssen diese Anweisung entfernen (oder auskommentieren), wenn Sie sich über JDBC mit der Datenbank verbinden möchten, da JDBC-Verbindungen immer wie "Netzwerk"-Verbindungen zu MySQL/MariaDB aussehen, selbst wenn es sich um Verbindungen von localhost . (Möglicherweise müssen Sie die Bind-Adresse anpassen Wert auf so etwas wie 0.0.0.0 auch.)