Způsoby platby Abuse

Oprava chyby SET PASSWORD has no significance pro uživatele root@localhost

18.01.2023, 15:34

Někdy se stává, že uživatel při instalaci MySQL nenastaví heslo roota, pak se jako autorizace použije metoda unix_socket. Pokud je použita tato autorizace, může se jako uživatel root ověřit pouze superuživatel systému nebo uživatel s právy sudo.

Při použití mysql_secure_installation dojde k pokusu o změnu hesla, v takovém případě se zobrazí chyba mysql SET PASSWORD has no significance for user'root'@'localhost'. Řekneme si, jak ji dále řešit a odstranit.

Odstranění chyby

Celý název chyby je následující:

SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.

Chyba se překládá jako:

"Nemá smysl provádět metodu SET PASSWORD pro uživatele'root'@'localhost', protože zvolená autorizační metoda nepodporuje ukládání autorizačních údajů. Pokud chcete změnit parametry autorizace, použijte ALTER USER."

Autorizační metoda unix_socket neukládá hesla, neprovádí autorizaci pomocí hesla, ale kontroluje, zda konkrétní uživatel splňuje podmínky superuživatele. A neexistuje způsob, jak by uživatel mohl jednoduše přeskočit nastavení hesla roota (pokud nebylo nastaveno). Proto software neumožňuje pokračovat. Problém můžete vyřešit připojením k MySQL.

Zároveň je třeba změnit způsob autorizace a heslo:

sudo mysql

V prostředí SQL je třeba provést následující příkaz:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Zavřete klienta MySQL příkazem:

exit;

Poté je třeba spustit mysql_secure_installation a zadat heslo roota. Poté můžete konfiguraci bez problémů dokončit. Upozorňujeme, že poté se budete moci připojit k mysql pomocí sudo bez hesla, protože je aktivována metoda autorizace heslem. Chcete-li se po mysql_secure_installation vrátit k předchozímu nastavení, připojte se k MySQL.

Použijte heslo a proveďte:

ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;

To je vše - návod je dokončen.