sql >> Databasteknik >  >> RDS >> Mysql

åtkomst nekad för användarrot @ localhost

Låt följande 2 rader misslyckas om användaren finns och blahblah spelar ingen roll just nu:

create user 'root'@'localhost' identified by 'blahblah';
create user 'root'@'127.0.0.1' identified by 'blahblah';

Gör dina bidrag:

grant all on *.* to 'root'@'localhost';
grant all on *.* to 'root'@'127.0.0.1';

Ändra lösenordet till något du kommer ihåg:

set password for 'root'@'localhost' = password('NewPassword');
set password for 'root'@'127.0.0.1' = password('NewPassword');

Se hur många rootanvändare du har. En riktig användare är en användare/värd-kombination. Lösenordet kommer att visas hashat:

select user,host,password from mysql.user where user='root';

eller

select user,host,authentication_string from mysql.user where user='root';

Den andra ovan är för MySQL 5.7

Om du får fler än de två användarna ovan, släpp de andra som:

drop user 'root'@'%';   -- this is the wildcard hostname, can be a security risk
drop user 'root'@'::1';

Har du fortfarande bara 2? Jag hoppas det. Använd de valda stmts ovan för att kontrollera.

Anslut inte en användarapp med root. root är endast till för underhåll. Det spelar ingen roll om det är kod på serversidan eller om en administratör kör den. Kod som inte är säkrad och/eller injicerad med skadliga uttalanden får köras som root. Så där, det är därför.



  1. Utforska Java Unit Testing med JUnit Test Framework

  2. MySQL:hämta ett stort urval i bitar

  3. Aggregera data med hjälp av gruppfunktioner (gruppera efter orakel)

  4. Hur LPAD()-funktionen fungerar i MySQL