Начини на плащане Abuse

Отстраняване на грешка SET PASSWORD has no significance за потребителя root@localhost

18.01.2023, 15:34

Понякога по време на инсталацията на MySQL потребителят не задава паролата на root, тогава за оторизация се използва методът unix_socket. Ако се използва тази оторизация, само суперпотребител на системата или потребител с права sudo ще може да се удостовери като потребител root.

Докато използвате mysql_secure_installation, ще бъде направен опит за промяна на паролата, като в този случай ще получите грешка от mysql SET PASSWORD has no significance for user'root'@'localhost'. Нека ви кажем как да я решите и отстраните по-нататък.

Отстраняване на грешката

Пълното име на грешката е следното:

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.

Грешката се превежда като:

"Няма смисъл да се изпълнява методът SET PASSWORD за потребителя'root'@'localhost', тъй като избраният метод за оторизация не поддържа запазване на данни за оторизация. Ако искате да промените параметрите на оторизацията, използвайте ALTER USER."

Методът за оторизация unix_socket не запазва пароли, не извършва оторизация чрез парола, а проверява дали даден потребител отговаря на условията за суперпотребител. И няма начин потребителят просто да пропусне задаването на паролата на root (ако тя не е зададена). Ето защо софтуерът не ви позволява да продължите. Можете да отстраните проблема, като се свържете с MySQL.

Също така трябва да промените метода за оторизация и паролата едновременно:

sudo mysql

В средата на SQL трябва да изпълните следната команда:

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

Затворете клиента на MySQL с командата:

exit;

След като трябва да стартирате mysql_secure_installation, въведете паролата на root. След това можете да завършите конфигурирането без никакви проблеми. Имайте предвид, че след това ще можете да се свързвате с mysql чрез sudo без парола, тъй като е активиран методът за оторизация с парола. За да се върнете към предишните настройки след mysql_secure_installation, свържете се с MySQL.

Използвайте паролата и изпълнете:

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

Това е всичко - инструкцията е завършена.