Het lijkt erop dat u jdbc:mariadb://...
. probeert te gebruiken om een verbinding met een MariaDB-serverinstantie tot stand te brengen met behulp van het MySQL JDBC-stuurprogramma. Dat zal waarschijnlijk niet werken omdat het MySQL JDBC-stuurprogramma jdbc:mysql://...
zou gebruiken , ongeacht of het verbinding maakt met een MySQL-server of een MariaDB-server. Dat wil zeggen, de verbindingsreeks moet overeenkomen met de driver die wordt gebruikt (in plaats van de databaseserver die wordt benaderd).
De MySQL- en MariaDB-stuurprogramma's zouden enigszins uitwisselbaar moeten zijn, maar het lijkt alleen verstandig om de MariaDB-connector te gebruiken bij toegang tot een MariaDB-server. Voor wat het waard is, de combinatie van mariadb-java-client-1.1.7.jar
en
Connection con = DriverManager.getConnection(
"jdbc:mariadb://localhost/project",
"root",
"whatever");
werkte voor mij. Ik heb de MariaDB Client Library voor Java hier gedownload:
https://downloads.mariadb.org/client-java/1.1.7/
waar ik op uitkwam via
https://downloads.mariadb.org/
Aanvullende opmerkingen:
-
Er is geen behoefte aan een
Class.forName()
statement in uw Java-code. -
De standaardconfiguratie voor MariaDB onder Mageia kan de
skip-networking
. bevatten richtlijn in/etc/my.cnf
. U moet die richtlijn verwijderen (of uit commentaar plaatsen) als u via JDBC verbinding wilt maken met de database, omdat JDBC-verbindingen er altijd uitzien als "netwerk"-verbindingen met MySQL/MariaDB, zelfs als het verbindingen zijn vanlocalhost
. (Mogelijk moet u hetbind-address
aanpassen waarde naar iets als0.0.0.0
ook.)