root mysql -u root nie działa, ale sudo root mysql -u nie działa, dlaczego?


9

Ostatnio wykonałem kilka samouczków i zainstalowałem mysql, używając sudo apt-get install mysql-server-5.7

Mogę połączyć się z bazą danych za pomocą hasła, uruchamiając następujące polecenie:

sudo mysql -u root -p

Próbuję się połączyć, uruchamiając:

mysql -u root -p

ale pojawia się błąd:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Dlaczego? Jak mogę to naprawić?


2
Drogi downvoter, czy możesz też podać powód do przegłosowania, przynajmniej wyjaśnienie, dlaczego jest to głupie pytanie?
user1379280,

To może być powiązane. Spójrz na niektóre odpowiedzi: askubuntu.com/questions/766334/…
Terrance

Czy ustawiłeś hasło roota dla mysql podczas instalacji?
steeldriver

@steeldriver: tak zrobiłem
użytkownik1379280

Odpowiedzi:


24
  1. Dostęp z sudo: sudo mysql -u root -p
  2. Usuń użytkownika root: drop user 'root'@'localhost';
  3. Utwórz ponownie użytkownika root: create user 'root'@'%' identified by 'your_password';
  4. Daj uprawnienia: grant all privileges on *.* to 'root'@'%' with grant option;
  5. Zaktualizuj tabele uprawnień: flush privileges;
  6. Wyjdź z MySQL i spróbuj połączyć się ponownie bez sudo.

Czcionka: nie można zalogować się jako root użytkownika mysql z normalnego konta użytkownika w Ubuntu 16.04


Dzięki! Te kroki zadziałały również dla mnie i nie muszę sudoteraz używać mysql! Wygląda na to, zastępując hosta localhostz %rozwiązany problem dla mnie.
Vikram Hosakote

ale nadal nie ma dostępu zdalnego
Ciasto piekarz

Nie działało dla mnie, teraz nie mogę wejść z sudo lub bez niego!
David Powell,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.