Korzystając z tego przewodnika, odkryjesz trzy metody rozwiązania tego błędu."
Co oznacza ten błąd?
Najlepszym sposobem na zrozumienie tego błędu jest rozbicie go na pojedyncze komponenty. Ten błąd występuje, gdy próbujesz zalogować się do instancji MySQL na lokalnym komputerze, stąd „LocalHost.'
Przykładem jest jak pokazano:
$ mysql -u root -pSkładniki błędu są następujące:
UWAGA: Pierwszy %s w komunikacie o błędzie odnosi się do nazwy użytkownika, podczas gdy drugi odnosi się do hosta.
Rozwiązanie 1: sudo do mysql
Pierwszą i najczęstszą metodą rozwiązania tego błędu jest sudo w instancji MySQL i ustawienie auth_plugin na mysql_native_password.
Otwórz swój terminal i uruchom:
$ sudo mysqlWprowadź hasło do konta i kontynuuj.
Następnie zmień auth_plugin i ustaw nowe hasło dla konta głównego, jak pokazano:
Zmień użytkownika „root@localHost” zidentyfikowane z MySQL-Native_Password według „hasła”;Zmiana wtyczki uwierzytelniania pozwoli na zalogowanie się na serwerze.
Następnie spłucz przywileje do aktualizacji tabel dotacji:
Przywileje spłukiwane;Na koniec wyjdź z terminalu i spróbuj zalogować się:
$ mysql -u root -pRozwiązanie 2- Ręcznie edytuj plik konfiguracyjny
Jeśli błąd będzie się utrzymywał, może być konieczne edycję pliku konfiguracyjnego MySQL. W większości przypadków jest pod nazwą.CNF w katalogach /etc lub /etc /mysql.
Znajdź ten plik w folderze instalacyjnym MySQL dla użytkowników Windows i Mac.
Jeśli plik nie istnieje, utwórz go.
Otwórz plik za pomocą edytora tekstu i zlokalizuj blok MySQLD.
$ nano/etc/mysql/my.CNFW bloku [Mysqld] dodaj następujący wpis.
Pomijane tabeleZamknij i zapisz plik.
Następnie ponownie uruchom serwer MySQL i zaloguj się.
$ sudo service mysql restartPo zalogowaniu spłucz uprawnienia i ustaw nowe hasło:
Przywileje spłukiwane;Upewnij się, aby zastąpić powyższe polecenie bezpiecznym hasłem.
Po zakończeniu edytuj mój.plik CNF i usuń dodany wcześniej wpis.
Uruchom ponownie serwer MySQL i zaloguj się za pomocą nowego hasła.
Rozwiązanie 3 - Rozpocznij MySQL w trybie awaryjnym
MySQL zapewnia narzędzie MySqld_safe do uruchamiania serwera MySQL. To narzędzie pozwala nam określić bezpieczne funkcje podczas uruchamiania i ponownego uruchomienia serwera w celu diagnozowania błędów.
Zacznij od zatrzymania serwera MySQL.
$ sudo service mysql stopNastępnie rozpocznij MySQL bez uwierzytelnienia jako;
$ mysqld_safe-Skip-Grant-Stable &Polecenie uruchomi serwer w tle jako zadanie.
Po uruchomieniu demona (z wyłączonym uwierzytelnianiem) otwórz nowy terminal i uruchom:
$ mysql -u root -pPowyższe polecenie powinno pozwolić na zalogowanie się bez hasła.
Po zalogowaniu się spłucz uprawnienia i ustaw nowe hasło jako:
Przywileje spłukiwane;Zamknij sesję i uruchom ponownie MySQL.
Teraz zaloguj się na swoim serwerze za pomocą nowego hasła.
Zamknięcie
W tym artykule omówiliśmy trzy główne metody rozwiązywania
„MySQL Access odmówił błędu użytkownika„ root@localhost ””.Mamy nadzieję, że ten samouczek pomógł ci rozwiązać ten błąd.