Parece que você está tentando usar
jdbc:mariadb://...
para estabelecer uma conexão com uma instância do servidor MariaDB usando o MySQL JDBC Driver. Isso provavelmente não funcionará porque o driver MySQL JDBC usaria jdbc:mysql://...
, independentemente de estar se conectando a um servidor MySQL ou a um servidor MariaDB. Ou seja, a string de conexão deve corresponder ao driver que está sendo usado (em vez do servidor de banco de dados que está sendo acessado). Os drivers MySQL e MariaDB devem ser um pouco intercambiáveis, mas parece prudente usar o conector MariaDB ao acessar um servidor MariaDB. Vale a pena, a combinação de
mariadb-java-client-1.1.7.jar
e
Connection con = DriverManager.getConnection(
"jdbc:mariadb://localhost/project",
"root",
"whatever");
trabalhou para mim. Baixei a Biblioteca de Cliente MariaDB para Java aqui:
https://downloads.mariadb.org/client-java/1.1.7/
a que cheguei através
https://downloads.mariadb.org/
Notas Adicionais:
-
Não há necessidade de umClass.forName()
instrução em seu código Java.
-
A configuração padrão para MariaDB na Mageia pode incluir oskip-networking
diretiva em/etc/my.cnf
. Você precisará remover (ou comentar) essa diretiva se quiser se conectar ao banco de dados via JDBC porque as conexões JDBC sempre se parecem com conexões de "rede" para MySQL/MariaDB, mesmo que sejam conexões delocalhost
. (Talvez seja necessário ajustar obind-address
value para algo como0.0.0.0
também.)