Изглежда, че се опитвате да използвате jdbc:mariadb://...
за да установите връзка към сървър на MariaDB, използвайки MySQL JDBC драйвер. Това вероятно няма да работи, защото MySQL JDBC драйверът ще използва jdbc:mysql://...
, независимо дали се свързва към MySQL сървър или MariaDB сървър. Тоест низът за връзка трябва да съвпада с драйвера който се използва (вместо сървъра на базата данни, до който се осъществява достъп).
Предполага се, че драйверите на MySQL и MariaDB са донякъде взаимозаменяеми, но изглежда разумно да се използва само MariaDB конектор при достъп до MariaDB сървър. За каквото си струва, комбинацията от mariadb-java-client-1.1.7.jar
и
Connection con = DriverManager.getConnection(
"jdbc:mariadb://localhost/project",
"root",
"whatever");
работи за мен. Изтеглих клиентската библиотека на MariaDB за Java от тук:
https://downloads.mariadb.org/client-java/1.1.7/
до който стигнах чрез
https://downloads.mariadb.org/
Допълнителни бележки:
-
Няма нужда от
Class.forName()
изявление във вашия Java код. -
Конфигурацията по подразбиране за MariaDB под Mageia може да включва
skip-networking
директива в/etc/my.cnf
. Ще трябва да премахнете (или да коментирате) тази директива, ако искате да се свържете с базата данни чрез JDBC, защото JDBC връзките винаги изглеждат като "мрежови" връзки към MySQL/MariaDB, дори ако са връзки отlocalhost
. (Може да се наложи да настроитеbind-address
стойност на нещо като0.0.0.0
също.)