Spôsoby platby Abuse

Oprava chyby SET PASSWORD nemá význam pre používateľa root@localhost

18.01.2023, 15:34

Niekedy pri inštalácii MySQL používateľ nenastaví heslo roota, potom sa ako autorizácia použije metóda unix_socket. Ak sa použije táto autorizácia, iba superužívateľ systému alebo používateľ s právami sudo sa bude môcť autentifikovať ako používateľ root.

Pri použití mysql_secure_installation sa vykoná pokus o zmenu hesla, v takom prípade sa zobrazí chyba mysql SET PASSWORD has no significance for user'root'@'localhost'. Povieme si, ako ju ďalej riešiť a odstrániť.

Odstránenie chyby

Celý názov chyby je nasledovný:

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 sa prekladá ako:

"Vykonanie metódy SET PASSWORD pre používateľa'root'@'localhost' nemá zmysel, pretože zvolená autorizačná metóda nepodporuje ukladanie autorizačných údajov. Ak chcete zmeniť parametre autorizácie, použite ALTER USER."

Autorizačná metóda unix_socket neukladá heslá, nevykonáva autorizáciu prostredníctvom hesla, kontroluje, či konkrétny používateľ spĺňa podmienky superužívateľa. A neexistuje spôsob, ako by používateľ mohol jednoducho preskočiť nastavenie hesla roota (ak nebolo nastavené). Z tohto dôvodu softvér neumožňuje pokračovať. Problém môžete vyriešiť pripojením k MySQL.

Zároveň musíte zmeniť spôsob autorizácie a heslo:

sudo mysql

V prostredí SQL musíte vykonať nasledujúci príkaz:

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

Ukončite klienta MySQL príkazom:

exit;

Po spustení programu mysql_secure_installation musíte zadať heslo root. Potom môžete bez problémov dokončiť konfiguráciu. Upozorňujeme, že potom sa budete môcť pripojiť k mysql pomocou sudo bez hesla, pretože je aktivovaná metóda autorizácie heslom. Ak sa chcete vrátiť k predchádzajúcim nastaveniam po mysql_secure_installation, pripojte sa k MySQL.

Použite heslo a vykonajte:

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

To je všetko - návod je hotový.