Parece que está intentando usar jdbc:mariadb://...
para establecer una conexión a una instancia del servidor MariaDB mediante el controlador MySQL JDBC. Eso probablemente no funcionará porque MySQL JDBC Driver usaría jdbc:mysql://...
, independientemente de si se está conectando a un servidor MySQL o un servidor MariaDB. Es decir, la cadena de conexión debe coincidir con el controlador que se está utilizando (en lugar de acceder al servidor de la base de datos).
Se supone que los controladores MySQL y MariaDB son algo intercambiables, pero parece prudente usar el conector MariaDB al acceder a un servidor MariaDB. Por lo que vale, la combinación de mariadb-java-client-1.1.7.jar
y
Connection con = DriverManager.getConnection(
"jdbc:mariadb://localhost/project",
"root",
"whatever");
trabajó para mi. Descargué MariaDB Client Library para Java desde aquí:
https://downloads.mariadb.org/client-java/1.1.7/
a la que llegué a través de
https://downloads.mariadb.org/
Notas adicionales:
-
No hay necesidad de un
Class.forName()
declaración en su código Java. -
La configuración predeterminada para MariaDB en Mageia puede incluir
skip-networking
directiva en/etc/my.cnf
. Deberá eliminar (o comentar) esa directiva si desea conectarse a la base de datos a través de JDBC porque las conexiones JDBC siempre se ven como conexiones de "red" a MySQL/MariaDB, incluso si son conexiones delocalhost
. (Es posible que deba modificar labind-address
valor a algo como0.0.0.0
también.)