Mysql
 sql >> Database >  >> RDS >> Mysql

Errore di accesso negato da Java a MySQL

La spiegazione più probabile è che l'utente non è definito in MySQL.

Si noti che in MySQL un utente è identificato SIA dal nome host (o indirizzo IP) da cui l'utente si connette E dal nome utente. (NOTA:un '%' può essere utilizzato come carattere jolly per il nome host, per consentire la connessione da qualsiasi host, ma MySQL cercherà prima una corrispondenza esatta, quindi ritornerà al carattere jolly se non viene trovata alcuna corrispondenza.)

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

Ci aspetteremmo che ci fosse una riga con il valore Host di 'd24-36-33-148.home1.cgocable.net ' o una riga con un carattere jolly del valore host di '% '.

Puoi confrontare la password che stai utilizzando con il valore memorizzato nella tabella, con la funzione PASSWORD...

SELECT PASSWORD('mysecret') 

Ogni [email protected] possono essere concessi privilegi su singoli database.

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

Il modo più semplice per configurare un utente con privilegi su un database:

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' ;

(NOTA:la concessione di tutti i privilegi a un utente in genere viola il principio di buona pratica del "privilegio minimo". Questo utente potrebbe in realtà non richiedere tutti i privilegi, ad esempio il privilegio DROP TABLE. La concessione inutilmente dei privilegi costituisce un ulteriore rischio per la sicurezza.)

http://dev.mysql.com/doc/refman /5.5/en/aggiunta-utenti.html