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ť.
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ý.