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

SQLSTATE[HY000] [1045] Adgang nægtet for brugeren 'brugernavn'@'localhost' ved hjælp af CakePHP

Den fejlmeddelelse betyder normalt, at enten den adgangskode, vi bruger, ikke stemmer overens med, hvad MySQL mener, adgangskoden skal være for den bruger, vi opretter forbindelse som, eller også eksisterer en matchende MySQL-bruger ikke (er ikke blevet oprettet).

I MySQL identificeres en bruger med både et brugernavn ("test2") og en vært ("localhost").

Fejlmeddelelsen identificerer brugeren ("test2") og værten ("localhost") værdier...

  'test2'@'localhost'

Vi kan kontrollere, om brugeren findes, ved at bruge denne forespørgsel fra en klient, vi kan oprette forbindelse fra:

 SELECT user, host FROM mysql.user

Vi leder efter en række, der har "test2" for bruger , og "localhost" for vært .

 user     host       
 -------  -----------
 test2     127.0.0.1  cleanup
 test2     ::1        
 test2     localhost  

Hvis denne række ikke eksisterer, kan værten indstilles til jokertegnværdien % , for at matche enhver anden vært, der ikke matcher.

Hvis rækken eksisterer, matcher adgangskoden muligvis ikke. Vi kan ændre adgangskoden (hvis vi er forbundet som en bruger med tilstrækkelige privilegier, f.eks. root

 SET PASSWORD FOR 'test2'@'localhost' = PASSWORD('mysecretcleartextpassword')

Vi kan også verificere, at brugeren har privilegier på objekter i databasen.

 GRANT SELECT ON jobs.* TO 'test2'@'localhost' 

REDIGER

Hvis vi foretager ændringer i mysql-privilegietabeller med DML-operationer (INSERT,UPDATE,DELETE), vil disse ændringer ikke træde i kraft, før MySQL genlæser tabellerne. Vi kan gøre ændringer effektive ved at tvinge en genlæsning med en FLUSH PRIVILEGES sætning, udført af en privilegeret bruger.



  1. Er der en Oracle SQL-forespørgsel, der samler flere rækker i én række?

  2. Sådan fremskynder du din SQL-server ved hjælp af overvågning af databaseydeevne

  3. Er det bedre at oprette et indeks, før du fylder en tabel med data, eller efter at dataene er på plads?

  4. Hvad er MariaDB? Hvordan virker MariaDB?