Bonjour,
j’ai créé installé une base msql (Mariadb) qui fonctionne par connexion directe ou avec myphpadmin.
Mais je souhaite maintenant y accéder par Java avec le JDBC. Le test de connecteur JDBC montre que le connecteur est reconnu mais je ne peux toutefois pas accéder à ma base.
code Java: Connection connection = DriverManager.getConnection(« jdbc:mysql//locahost:3306/ma_base », user, password);
Un telnet sur 3306 donne un blocage par « foreign host » :
telnet localhost 3306
Trying ::1…
Connection failed: Connexion refusée
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‹ ^] ›.
d
5.5.5-10.11.11-MariaDB-0+deb12u1SC-UF?H.K��-md/ZW)a0jEXlmysql_native_passwordConnection closed by foreign host.
J’ai essayé de voir la configuration mysql.cnf pour vérifier que le port 3306 était activé et c’est le cas.
Ton utilisateur as t’il droit de se connecter depuis localhost ?
(attention localhost ce n’est pas pareil que 127.0.0.1 du point de vue autorisation de l’utilisateur créer sur la base de donnée).
Même avec localhost ou 127.0.0.1 ça ne se connecte pas.
J’ai l’impression que c’est le foreign host de Telnet qui empêche mais je ne vois pas comment l’autoriser.
J’ai suivi un tuto proche de celui de la doc officielle de MariaDB (confirmation après coup avec les problèmes!).
Je n’arrive pas à trouver de log pour mysql dans /var/log. J’ai trouvé le log pour phpmyadmin pourtant …
Pourquoi je dois me connecter à un serveur distant alors que tout est sur mon poste en local?
Alors j’ai avancé et suis arrivé à voir qu’en fait j’accédais à la base mais c’est la requête qui ne retournait rien …
Je pense aussi que mon IDE Geany ne voyait pas le connecteur jar (de mariadb et pas de mysql!).
En lançant directement dans un shell bash et en précisant le fichier connecteur jar :
java -cp .:mariadb-java-client-3.5.3.jar MySQLExample2.
Merci de votre aide quand même!