sql >> Databáze >  >> RDS >> Mysql

Nelze získat přístup k root uživateli MySql, a to ani po nastavení hesla v nouzovém režimu v linuxovém terminálu

Pokračujte jako dříve v kroku 2, to znamená restartujte démona mysql v nouzovém režimu.

Zadejte příkaz

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

vyjmout a vložit výstup do textového editoru pro porovnání (hodnot hashovaného sloupce hesla) před a za následující.

U každého řádku si všimněte host sloupec. V následujícím příkladu předpokládám, že mám dva řádky. Jeden řádek má % jako hostitel, další má localhost

Pro každý řádek, který měl host variaci, vydáte jeden příkaz. V mém příkladu výše bych tedy vydal celkem 2 příkazy, například:

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

spustit

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

vyjmout a vložit do textového editoru. Všimněte si změny hodnot hash hesel.

Vypněte démona z nouzového režimu a restartujte normálně.

Zkuste se přihlásit jako root pomocí MyNewPassword

Zde je několik odkazů. Ten pro SET PASSWORD syntaxe a často dalším krokem pro syntaxe GRANT .

Pro úzký rozsah této otázky, tedy přihlášení, by granty nebyly nutné. Ale bez řádných povolení k databázím by se člověk dostal do karantény a nemohl by toho moc dělat, kromě jednoduchých příkazů jako select now();

Netvrdím, že váš uživatel root nemá po změně hesla oprávnění. Granty jsou pro normální uživatele nezbytné.




  1. mysql vyberte POUZE duplicitní záznamy z databáze

  2. Doctrine 2 mysql FIELD funkce v pořadí podle

  3. Funkce s proměnným počtem vstupních parametrů

  4. Funkce LAST_DAY() v Oracle