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ć?

użytkownik1379280
źródło
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

thiagoBarbosa48
źródło
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,