sql >> Database >  >> RDS >> Mysql

Geen toegang tot MySql root-gebruiker, zelfs niet na het instellen van het wachtwoord via de veilige modus in de linux-terminal

Ga naar binnen zoals eerder in stap 2, dat wil zeggen, herstart mysql daemon in veilige modus.

Geef het commando

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

knip en plak de uitvoer in een teksteditor voor vergelijking (van de gehashte wachtwoordkolomwaarden) voor en na het volgende.

Let voor elke rij op de host kolom. In het volgende voorbeeld ga ik ervan uit dat ik twee rijen heb. Eén rij heeft % als host, heeft de volgende localhost

Voor elke rij die een host . had variatie, geef je één opdracht. Dus in mijn voorbeeld hierboven zou ik in totaal 2 commando's geven, zoals:

SET PASSWORD FOR 'root'@'%' = PASSWORD('MyNewPassword');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');

rennen

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

knip en plak dat in de teksteditor. Let op de wijziging in de wachtwoord-hashes.

Sluit de daemon af vanuit de veilige modus en herstart normaal.

Probeer in te loggen als root met MyNewPassword

Hier zijn een paar linken. Die voor SET PASSWORD-syntaxis , en vaak een volgende stap voor GRANT-syntaxis .

Voor de beperkte reikwijdte van deze vraag, namelijk inloggen, zouden de subsidies niet nodig zijn. Maar zonder de juiste subsidies aan databases, zou men in een sandbox zitten, niet veel kunnen doen, behalve eenvoudige commando's zoals select now();

Ik suggereer niet dat je root-gebruiker geen privileges heeft als het wachtwoord eenmaal is gewijzigd. De Grants zijn nodig voor normale gebruikers om zeker te zijn.




  1. Opgeslagen procedure om serveropslaginformatie op server te krijgen

  2. Verander databaseresultaat in array

  3. Hoe stel je AUTO_INCREMENT in Laravel in met Eloquent?

  4. Lijst van alle tijdelijke tabellen in SQLite