mysql -u root funktioniert nicht, aber sudo mysql -u root funktioniert, warum?

9

Ich habe kürzlich einige Tutorials befolgt und MySQL mit sudo apt-get install mysql-server-5.7 installiert

Ich kann mit dem Passwort eine Verbindung zur Datenbank herstellen, indem ich den folgenden Befehl ausführe:

sudo mysql -u root -p

Ich versuche eine Verbindung herzustellen, indem ich Folgendes ausführe:

mysql -u root -p

aber ich bekomme den Fehler:

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

Warum? Wie kann ich das beheben?

user1379280
quelle
2
Lieber Downvoter, kannst du auch einen Grund für eine Downvote fallen lassen, zumindest eine Erklärung, warum dies eine dumme Frage ist?
user1379280
Dies könnte zusammenhängen. Schauen Sie sich einige der Antworten an: askubuntu.com/questions/766334/…
Terrance
Haben Sie während der Installation ein Root-Passwort für MySQL festgelegt?
Steeldriver
@steeldriver: Ja, ich habe
user1379280

Antworten:

23
  1. Zugang mit sudo: sudo mysql -u root -p
  2. Löschen Sie den Root-Benutzer: drop user 'root'@'localhost';
  3. Erstellen Sie den Root-Benutzer erneut: create user 'root'@'%' identified by 'your_password';
  4. Berechtigungen erteilen: grant all privileges on *.* to 'root'@'%' with grant option;
  5. Berechtigungstabellen aktualisieren: flush privileges;
  6. Beenden Sie MYSQL und versuchen Sie, die Verbindung ohne sudo wiederherzustellen.

Schriftart: Kann mich nicht als MySQL-Benutzer root von einem normalen Benutzerkonto in Ubuntu 16.04 anmelden

thiagoBarbosa48
quelle
Vielen Dank! Diese Schritte haben auch bei mir funktioniert und ich muss sudojetzt kein MySQL verwenden! Sieht so aus, als würde der Host localhostdurch %das Problem ersetzt, das für mich behoben wurde.
Vikram Hosakote
kann aber immer noch nicht aus der Ferne zugreifen
Ciasto piekarz
Hat bei mir nicht funktioniert, jetzt kann ich nicht mit oder ohne Sudo rein!
David Powell