Eroare 1045 (28000) acces interzis pentru utilizator root localhost (rezolvată)

Publicat: 2023-03-14

„Eroarea 1045 (28000) acces refuzat pentru utilizator root localhost” este o eroare întâlnită frecvent atunci când încercați să accesați MySQL prin CMS-ul WordPress. Cu toate acestea, această eroare poate apărea și în alte situații.

Eroarea pe care o întâlniți sugerează că utilizatorul „rădăcină” nu deține autorizațiile necesare pentru a accesa baza de date de la localhost. Motivele din spatele acestei probleme pot fi multiple, inclusiv o parolă incorectă, un nume de utilizator incorect sau permisiuni inadecvate acordate utilizatorului.

Iată câțiva pași pe care îi puteți lua pentru a rezolva această eroare

1. Verificați numele de utilizator și parola

Asigurați-vă că utilizați numele de utilizator și parola corecte. Numele de utilizator ar trebui să fie „rădăcină”, iar parola ar trebui să fie cea pe care o setați în timpul procesului de instalare.

În cazul în care utilizați WordPress, trebuie să verificați fișierul wp-config.php . Fișierul poate fi găsit în folderul principal al WordPress.

wp-config.php

După ce deschideți fișierul și încercați să-l editați (Visual Studio Code) veți avea acest ecran:

editați numele de utilizator și parola wp-config.php ale DB

Verificați DB_USER și DB_PASSWORD dacă au valorile corecte

 /** Database username */ define( 'DB_USER', 'root' );
 /** Database password */ define( 'DB_PASSWORD', 'root' );

Dacă nu știți care este numele dvs. de utilizator și parola pentru DB, accesați cPanel > Bază de date > Mysql și verificați-l.

cum se accesează mysql bazat de date cu cpanel

Pentru a schimba parola bazei de date WordPress vă rugăm să urmați tutorialul: Schimbați parola WordPress în PHPMyAdmin

2. Verificați dacă utilizatorul are privilegiile necesare

Verificați dacă utilizatorul „root” are privilegiile necesare pentru a accesa baza de date.

Pasul 1: În primul rând, trebuie să deschideți terminalul și să scrieți ssh [email protected]

 ssh [email protected]

Pasul 2: După conectarea cu succes, notați această comandă

 mysql -uroot -p

Pasul 3: După ce ați adăugat parola, puteți începe să adăugați comanda din promptul mysql

Pasul 4: Puteți utiliza următoarea comandă pentru a verifica privilegiile:

 SHOW GRANTS FOR 'root'@'localhost';

Aceasta vă va afișa lista de privilegii pe care le are utilizatorul „rădăcină” pentru serverul „localhost”. Dacă utilizatorul nu are privilegiile necesare, îi puteți acorda folosind următoarea comandă:

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password';

Notă: Înlocuiți „parola” cu parola pe care doriți să o utilizați.

Pentru a verifica dacă utilizatorul are privilegiile necesare utilizând phpMyAdmin, urmați acești pași:

  1. Conectați-vă la contul dvs. phpMyAdmin.
  2. Faceți clic pe fila „Conturi de utilizator”.
  3. Selectați pe rădăcina utilizatorului (sau pe cel pentru care doriți să schimbați parola)
  4. Faceți clic pe linkul Editare privilegii
  5. Aici puteți vedea lista de privilegii pe care utilizatorul le-a acordat.
  6. Asigurați-vă că utilizatorului i s-au acordat privilegiile necesare pentru a accesa baza de date.
  7. Dacă utilizatorul nu are privilegiile necesare, le puteți acorda bifând casetele de selectare relevante și făcând clic pe butonul „Go”.
  8. După ce ați acordat privilegiile necesare, încercați să accesați din nou baza de date pentru a vedea dacă problema a fost rezolvată.
link pentru privilegii de editare phpmyadmin

Setările din zona evidențiată ar trebui verificate:

privilegii de utilizator phpmyadmin

Notă: Dacă nu puteți acorda privilegiile necesare prin phpMyAdmin, poate fi necesar să accesați interfața de linie de comandă MySQL pentru a acorda privilegiile.

3. Verificați starea serverului MySQL

Asigurați-vă că serverul MySQL rulează. Puteți verifica starea serverului rulând următoarea comandă după autentificare în shell-ul serverului:

 systemctl status mysql

Dacă serverul nu rulează, porniți-l folosind următoarea comandă:

 systemctl start mysql

Pentru a verifica starea Mysql pe găzduirea cPanel, trebuie să vă conectați la tabloul de bord de găzduire. O altă modalitate este să contactați direct furnizorul dvs. de găzduire.

4. Verificați dacă serverul MySQL ascultă portul corect

Asigurați-vă că serverul MySQL ascultă portul corect. Portul implicit pentru MySQL este 3306 .

Pentru a verifica dacă serverul MySQL ascultă portul corect, puteți urma acești pași:

1. Deschideți un terminal sau un prompt de comandă pe serverul dvs. unde este instalat MySQL.

2. Conectați-vă la serverul MySQL utilizând clientul de linie de comandă. Puteți utiliza următoarea comandă, înlocuind username și password cu acreditările MySQL reale:

 mysql -u username -p

3. După ce sunteți conectat la serverul MySQL, tastați următoarea comandă pentru a afișa numărul portului pe care îl ascultă serverul MySQL:

SHOW VARIABLES LIKE 'port';

Această comandă va afișa numărul portului pe care îl ascultă serverul MySQL. În mod implicit, MySQL ascultă pe portul 3306.

De asemenea, puteți verifica numărul portului în fișierul de configurare MySQL.

Fișierul de configurare se numește de obicei my.cnf sau my.ini și se află în directorul de instalare MySQL.

Pentru a găsi directorul de instalare MySQL, puteți urma acești pași:

1. Deschideți un terminal sau un prompt de comandă pe serverul dvs. unde este instalat MySQL.

2. Tastați următoarea comandă pentru a verifica dacă MySQL este instalat:

which mysql

Dacă MySQL este instalat, această comandă va afișa calea către fișierul executabil mysql , altfel veți primi un mesaj de eroare.

Dacă MySQL este instalat, puteți utiliza din nou comanda which pentru a găsi directorul de instalare. Tastați următoarea comandă, înlocuind /path/to/mysql cu calea către fișierul executabil mysql :

 which mysql | xargs readlink -f | sed "s|bin/mysql$||"

Această comandă va afișa directorul de instalare MySQL. Puteți utiliza acest director pentru a localiza fișierul de configurare MySQL ( my.cnf sau my.ini ) și alte fișiere și directoare MySQL.

Alternativ, dacă aveți acces la clientul MySQL, puteți executa și următoarea interogare pentru a găsi directorul de instalare MySQL:

 SELECT @@basedir;

Aceasta va afișa directorul de instalare MySQL.

De asemenea, puteți verifica fișierul de configurare MySQL pentru a verifica numărul portului pe care MySQL este configurat să asculte. Fișierul de configurare se numește de obicei my.cnf sau my.ini și se află în directorul de instalare MySQL.

my.cnf și portul sql

Deschideți fișierul de configurare cu un editor de text și căutați parametrul port. Valoarea acestui parametru specifică numărul portului pe care MySQL este configurat să asculte.

Dacă serverul MySQL nu ascultă pe portul corect, puteți modifica parametrul portului din fișierul de configurare și reporniți serverul MySQL pentru a aplica modificările.

Nu uitați să reporniți serviciul Mysql dacă ați schimbat portul:

 service mysql restart

5. Resetați parola root

Dacă niciunul dintre pașii de mai sus nu funcționează, puteți încerca să resetați parola de root. Puteți face acest lucru urmând pașii din acest articol:

https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

Notă: Această metodă necesită să aveți acces la fișierul de configurare MySQL și posibilitatea de a reporni serverul MySQL.

S-ar putea să fiți interesat să citiți:

Cum să remediați eroarea „Instalarea eșuată: nu s-a putut crea directorul” pe WordPress

Cum să remediați WordPress blocat în modul de întreținere (RESOLUT)

Cum să remediați „Actualizarea eșuată. Răspunsul nu este un răspuns JSON valid”

Cum se remediază „Eroarea la stabilirea unei conexiuni la baza de date”? – 2023