Det ser ud til, at du prøver at bruge jdbc:mariadb://...
at etablere en forbindelse til en MariaDB-serverinstans ved hjælp af MySQL JDBC-driveren. Det vil sandsynligvis ikke fungere, fordi MySQL JDBC-driveren ville bruge jdbc:mysql://...
, uanset om den forbinder til en MySQL-server eller en MariaDB-server. Det vil sige, at forbindelsesstrengen skal matche driveren der bliver brugt (i stedet for databaseserveren, der tilgås).
MySQL- og MariaDB-driverne formodes at være noget udskiftelige, men det virker kun fornuftigt at bruge MariaDB-stikket, når du får adgang til en MariaDB-server. For hvad det er værd, kombinationen af mariadb-java-client-1.1.7.jar
og
Connection con = DriverManager.getConnection(
"jdbc:mariadb://localhost/project",
"root",
"whatever");
virkede for mig. Jeg downloadede MariaDB Client Library til Java herfra:
https://downloads.mariadb.org/client-java/1.1.7/
som jeg ankom til via
https://downloads.mariadb.org/
Yderligere bemærkninger:
-
Der er ikke behov for en
Class.forName()
sætning i din Java-kode. -
Standardkonfigurationen for MariaDB under Mageia kan inkludere
skip-networking
direktiv i/etc/my.cnf
. Du bliver nødt til at fjerne (eller kommentere) det direktiv, hvis du vil oprette forbindelse til databasen via JDBC, fordi JDBC-forbindelser altid ligner "netværks"-forbindelser til MySQL/MariaDB, selvom de er forbindelser fralocalhost
. (Du skal muligvis justerebind-address
værdi til noget som0.0.0.0
også.)