Mysql arbeitet mit sudo, aber ohne nicht. (ubuntu 16.04, mysql-5.7.12-0ubuntu1.1)
Habe ich Ubuntu 16.04
, und Mysql 5.7.12-0ubuntu1.1
. Wenn ich Typ:
sudo mysql -u root
Kann ich das login in die mysql-Konsole, aber wenn ich es ohne sudo
:
mysql -u root
Bekomme ein Fehler:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Mein problem aufgetreten ist, wenn ich installiert und entfernt MariaDB
. Ich erinnere mich, dass in PostgreSQL
es ist wichtig, die unix-Benutzer-login auf die Datenbank, aber wie kann man behandeln mit diesem in Mysql
?
Ich dieses problem gelöst durch:
- Unbuntu 18.04-ich fand askubuntu.com/questions/766334/... für mich gearbeitet.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Lösung ist ein Passwort für den root-mysql-account (wenn du noch nicht bereits geschehen). Die Fehlermeldung, die Sie erhalten, ist, da ein Passwort erforderlich ist, und Sie haben nicht zur Verfügung gestellt. Reset root-Passwort mit:
möchten oder ob Sie lieber schon ein root-Passwort gesetzt (was ich bezweifle, sonst würdest du nicht in der Lage sein, um log-in via sudo), dann wäre es
Mysql-Benutzer sind nicht verknüpft mit den unix-Benutzer, im Gegensatz zu postgres.
auth_socket
plugin Benutzer für mysql verbunden werden, um unix-Benutzer.Scheint dieses problem in Erster Linie verursacht durch die
auth_socket
- plugin ist nun standardmäßig verwendet, wenn die root-Benutzer nicht über ein Passwort. (Vorher apt-get install Prozess gebeten, ein Passwort für den root, aber es scheint nicht zu tun, die nicht mehr soauth_socket
wird aktiviert.)Entweder Abfrage, ersten login als root, indem Sie mit
sudo mysql
Für MySQL oder MariaDB >= 10.2:
Für andere, die möglicherweise mit MariaDB < 10.2 (das nicht unterstützen
ALTER USER
), möchten Sie diese Abfrage ausführen:Server-version: 5.7.18-0ubuntu0.16.04.1 (Ubuntu)
Schritt 1:
Schritt 2:
Ausgabe sieht wie folgt aus:
Schritt 3:
Ausgabe:
Bitte versuchen Sie die folgenden Befehl ein:
[Kennwort] geben Sie das Passwort, das Sie gesetzt haben, während der Installation von mysql.
Können Sie auch versuchen: