Zdá se, že se pokoušíte použít jdbc:mariadb://...
k navázání připojení k instanci serveru MariaDB pomocí ovladače MySQL JDBC Driver. To pravděpodobně nebude fungovat, protože ovladač MySQL JDBC by používal jdbc:mysql://...
, bez ohledu na to, zda se připojuje k serveru MySQL nebo serveru MariaDB. To znamená, že připojovací řetězec se musí shodovat s ovladačem který je používán (spíše než databázový server, ke kterému se přistupuje).
Ovladače MySQL a MariaDB by měly být poněkud zaměnitelné, ale zdá se být rozumné používat konektor MariaDB pouze při přístupu k serveru MariaDB. Za to, co stojí za to, kombinace mariadb-java-client-1.1.7.jar
a
Connection con = DriverManager.getConnection(
"jdbc:mariadb://localhost/project",
"root",
"whatever");
pracoval pro mě. Stáhl jsem klientskou knihovnu MariaDB pro Javu odtud:
https://downloads.mariadb.org/client-java/1.1.7/
ke kterému jsem dorazil přes
https://downloads.mariadb.org/
Další poznámky:
-
Není potřeba
Class.forName()
ve vašem kódu Java. -
Výchozí konfigurace pro MariaDB pod Mageia může zahrnovat
skip-networking
direktiva v/etc/my.cnf
. Pokud se chcete k databázi připojit přes JDBC, budete muset tuto direktivu odstranit (nebo zakomentovat), protože připojení JDBC vždy vypadají jako „síťová“ připojení k MySQL/MariaDB, i když se jedná o připojení zlocalhost
. (Možná budete muset upravitbind-address
hodnotu na něco jako0.0.0.0
také.)