Il semble que vous essayez d'utiliser jdbc:mariadb://...
pour établir une connexion à une instance de serveur MariaDB à l'aide du pilote MySQL JDBC. Cela ne fonctionnera probablement pas car le pilote MySQL JDBC utiliserait jdbc:mysql://...
, qu'il se connecte à un serveur MySQL ou à un serveur MariaDB. Autrement dit, la chaîne de connexion doit correspondre au pilote qui est utilisé (plutôt que le serveur de base de données auquel on accède).
Les pilotes MySQL et MariaDB sont censés être quelque peu interchangeables, mais il semble seulement prudent d'utiliser le connecteur MariaDB lors de l'accès à un serveur MariaDB. Pour ce que ça vaut, la combinaison de mariadb-java-client-1.1.7.jar
et
Connection con = DriverManager.getConnection(
"jdbc:mariadb://localhost/project",
"root",
"whatever");
travaillé pour moi. J'ai téléchargé la bibliothèque cliente MariaDB pour Java à partir d'ici :
https://downloads.mariadb.org/client-java/1.1.7/
auquel je suis arrivé via
https://downloads.mariadb.org/
Remarques supplémentaires :
-
Il n'y a pas besoin d'un
Class.forName()
déclaration dans votre code Java. -
La configuration par défaut pour MariaDB sous Mageia peut inclure le
skip-networking
directive dans/etc/my.cnf
. Vous devrez supprimer (ou commenter) cette directive si vous souhaitez vous connecter à la base de données via JDBC car les connexions JDBC ressemblent toujours à des connexions "réseau" à MySQL/MariaDB, même si ce sont des connexions delocalhost
. (Vous devrez peut-être modifier lebind-address
valeur à quelque chose comme0.0.0.0
également.)