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

adgang nægtet for brugerens root @ localhost

Lad de følgende 2 linjer fejle, hvis brugeren eksisterer og blahblah betyder ikke noget for nu:

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

Giv dine tilskud:

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

Skift adgangskoden til noget, du vil huske:

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

Se, hvor mange root-brugere du har. En rigtig bruger er en bruger/vært-kombination. Adgangskoden vises hashed:

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

eller

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

Den anden ovenfor er til MySQL 5.7

Hvis du får mere end de to ovenstående brugere, skal du droppe de andre, såsom:

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

Har du stadig kun 2? Det håber jeg. Brug de valgte stmts ovenfor for at kontrollere.

Tilslut ikke en brugerapp ved hjælp af root. root er kun til vedligeholdelse. Det er lige meget, om det er server-side kode, eller om en administrator kører det. Kode, der ikke er sikret og/eller injiceret med skadelige udsagn, kører som root. Så der, det er derfor.



  1. Hvilken objekttype returnerer Spring Hibernate Template-eksekveringsmetoden for en tælleforespørgsel på Oracle?

  2. Opret int8[]-array i PostgreSQL C-funktionen

  3. Hent DB-ejers navn i PostgreSql

  4. Tuning:Et godt sted at starte