Mysql
 sql >> Base de données >  >> RDS >> Mysql

Connectez-vous à MariaDB à partir de l'application Java dans NetBeans sur Linux (Mageia)

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 :

  1. Il n'y a pas besoin d'un Class.forName() déclaration dans votre code Java.

  2. 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 de localhost . (Vous devrez peut-être modifier le bind-address valeur à quelque chose comme 0.0.0.0 également.)