Metody płatności Abuse

Naprawiono błąd SET PASSWORD nie ma znaczenia dla użytkownika root@localhost

  • Główna
  • Baza wiedzy
  • Naprawiono błąd SET PASSWORD nie ma znaczenia dla użytkownika root@localhost
18.01.2023, 15:34

Czasami podczas instalacji MySQL użytkownik nie ustawia hasła roota, wtedy metoda unix_socket jest używana jako autoryzacja. Jeśli ta autoryzacja jest używana, tylko superużytkownik systemu lub użytkownik z uprawnieniami sudo będzie mógł uwierzytelnić się jako użytkownik root.

Podczas korzystania z mysql_secure_installation zostanie podjęta próba zmiany hasła, w którym to przypadku pojawi się błąd mysql SET PASSWORD has no significance for user'root'@'localhost'. Podpowiemy, jak go rozwiązać i wyeliminować.

Eliminacja błędu

Pełna nazwa błędu jest następująca:

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.

Błąd jest tłumaczony jako:

"Nie ma sensu wykonywanie metody SET PASSWORD dla'root'@'localhost', ponieważ wybrana metoda autoryzacji nie obsługuje zapisywania danych autoryzacji. Jeśli chcesz zmienić parametry autoryzacji, użyj ALTER USER."

Metoda autoryzacji unix_socket nie zapisuje haseł, nie przeprowadza autoryzacji za pomocą hasła, sprawdza, czy dany użytkownik spełnia warunki superużytkownika. I nie ma możliwości, aby użytkownik po prostu pominął ustawienie hasła roota (jeśli nie zostało ono ustawione). Dlatego oprogramowanie nie pozwala na kontynuowanie. Problem można rozwiązać, łącząc się z MySQL.

Należy również zmienić metodę autoryzacji i hasło w tym samym czasie:

sudo mysql

W środowisku SQL należy wykonać następujące polecenie:

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

Zamknąć klienta MySQL poleceniem:

exit;

Po uruchomieniu mysql_secure_installation należy wprowadzić hasło roota. Następnie można zakończyć konfigurację bez żadnych problemów. Należy pamiętać, że po tym będzie można połączyć się z mysql za pomocą sudo bez hasła, ponieważ metoda autoryzacji hasłem jest aktywna. Aby powrócić do poprzednich ustawień po mysql_secure_installation, połącz się z MySQL.

Użyj hasła i wykonaj:

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

To wszystko - instrukcja została zakończona.