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

Erreur d'accès refusé de Java à MySQL

L'explication la plus probable est que l'utilisateur n'est pas défini dans MySQL.

Notez que dans MySQL, un utilisateur est identifié À LA FOIS par le nom d'hôte (ou l'adresse IP) à partir duquel l'utilisateur se connecte ET par le nom d'utilisateur. (REMARQUE :un '%' peut être utilisé comme caractère générique pour le nom d'hôte, pour permettre la connexion à partir de n'importe quel hôte, mais MySQL recherchera d'abord une correspondance exacte, puis reviendra au caractère générique si aucune correspondance n'est trouvée.)

SELECT u.Host,
     , u.User
     , u.Password
  FROM mysql.user u
 WHERE u.User = 'buiud458_raklar'

Nous nous attendons à ce qu'il y ait une ligne avec la valeur Host de 'd24-36-33-148.home1.cgocable.net ', ou une ligne avec un caractère générique de valeur d'hôte de '% '.

Vous pouvez comparer le mot de passe que vous utilisez à la valeur stockée dans la table, avec la fonction MOT DE PASSE...

SELECT PASSWORD('mysecret') 

Chaque [email protected] peuvent se voir accorder des privilèges sur des bases de données individuelles.

SELECT d.Host
     , d.User
     , d.Db
  FROM mysql.db d
 WHERE d.User = 'buiud458_raklar'

Le moyen le plus simple de configurer un utilisateur avec des privilèges sur une base de données :

CREATE USER 'buiud458_raklar'@'d24-36-33-148.home1.cgocable.net' IDENTIFIED BY 'secret' ;
GRANT ALL PRIVILEGES ON mydb.* TO  'buiud458_raklar'@'d24-36-33-148.home1.cgocable.net' ;

(REMARQUE :L'octroi de tous les privilèges à un utilisateur enfreint généralement le principe des meilleures pratiques du "moindre privilège". Cet utilisateur peut ne pas avoir besoin de tous les privilèges, par exemple, le privilège DROP TABLE. L'octroi inutile de privilèges constitue un risque de sécurité supplémentaire.)

http://dev.mysql.com/doc/refman /5.5/fr/ajout-d-utilisateurs.html