Mysql
 sql >> база данни >  >> RDS >> Mysql

SQLSTATE[HY000] [1045] Достъпът е отказан за потребител 'username'@'localhost' с помощта на CakePHP

Това съобщение за грешка обикновено означава, че или паролата, която използваме, не съвпада с това, което MySQL смята, че паролата трябва да бъде за потребителя, с който се свързваме, или съответстващ потребител на MySQL не съществува (не е създаден).

В MySQL потребителят се идентифицира както с потребителско име („test2“) и хост ("localhost").

Съобщението за грешка идентифицира потребителя ("test2") и хост ("localhost") стойности...

  'test2'@'localhost'

Можем да проверим дали потребителят съществува, като използваме тази заявка от клиент, от който можем да се свържем:

 SELECT user, host FROM mysql.user

Търсим ред, който съдържа „test2“ за потребител и "localhost" за хост .

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

Ако този ред не съществува, тогава хостът може да бъде настроен на заместваща стойност % , за да съответства на всеки друг хост, който не съответства.

Ако редът съществува, паролата може да не съвпада. Можем да променим паролата (ако сме свързани като потребител с достатъчни привилегии, напр. root

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

Можем също така да проверим дали потребителят има привилегии върху обекти в базата данни.

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

РЕДАКТИРАНЕ

Ако направим промени в таблиците с привилегии на mysql с DML операции (INSERT,UPDATE,DELETE), тези промени няма да влязат в сила, докато MySQL не прочете отново таблиците. Можем да направим промените ефективни, като принудим повторно четене с FLUSH PRIVILEGES изявление, изпълнено от привилегирован потребител.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преглед на новите функции за аналитичен прозорец в MySQL 8.0

  2. Грешка в MySQL 1093 - Не може да се посочи целева таблица за актуализиране в клауза FROM

  3. Конвертирайте BufferedInputStream в изображение

  4. Функция SCHEMA() в MySQL

  5. Работа с тригери в база данни на MySQL - урок