Ich habe versucht, mein MySQL-Root-Passwort zurückzusetzen. Ich habe die Tabellen mysqld_safe --skip-grant-tables ausgeführt, das Root-Passwort aktualisiert und die Benutzertabelle überprüft, um sicherzustellen, dass sie vorhanden ist. Nach dem Neustart des MySQL-Daemons habe ich versucht, mich mit dem neuen Root-Passwort anzumelden, das ich gerade festgelegt habe, und trotzdem wird der Zugriff für Benutzer-Root-Fehler verweigert. Ich habe auch versucht, MySQL vollständig zu entfernen und neu zu installieren (einschließlich des Entfernens der Datei my.cnf) und immer noch kein Glück. Hat jemand Vorschläge, was ich als nächstes tun kann?
Danke im Voraus
mysql
root
mysqladmin
Nick
quelle
quelle
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('somepassword');
ist dies am sichersten.Antworten:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypass');
quelle
FLUSH PRIVILEGES
, um die Änderung wirksam zu machen, ohne den Datenbankserver neu zu starten.Schauen Sie sich dies aus dem MySQL-Referenzhandbuch an:
Erster Login MySQL:
Dann an der MySQL-Eingabeaufforderung ausführen:
Dann
Weitere Informationen finden Sie auf dieser Seite: Zurücksetzen des Root-Passworts: Unix Systems
quelle
Das Zurücksetzen des Root-Passworts finden Sie in der MySQL-Dokumentation.
quelle
mysqld --initialize --console
MariaDB 10.5.4
Dies ist die aktualisierte Antwort für WAMP v3.0.6 und höher
In MySQL Version 5.7.x gibt es kein Kennwortfeld mehr in der MySQL-Tabelle. Es wurde durch authentication_string ersetzt. (Dies ist für das Terminal / die CLI)
(Dies gilt für PHPMyAdmin oder eine beliebige MySQL-Benutzeroberfläche)
quelle
mysql.user
Tabelle aktualisiert werden sollte. Beachten Sie, dass bei Verwendung einer anderen Datenbank (festgelegt durch denuse
Befehl) die Fehlermeldung angezeigt wird, dass die Tabelleuser
nicht vorhanden ist. Danke mein Herr!mysql.user
Tabelle. andere Antworten sind veraltetFand es! Ich habe vergessen, das Passwort zu hashen, als ich es geändert habe. Ich habe diese Abfrage verwendet, um mein Problem zu lösen:
update user set password=PASSWORD('NEW PASSWORD') where user='root';
Ich habe das vergessen
PASSWORD('NEW PASSWORD')
und einfach das neue Passwort im Klartext eingegebenquelle
--init-file=
wenn Sie aufpassen .Bitte befolgen Sie die folgenden Schritte.
Schritt 1. hör auf mysql
Schritt 2.
sudo mysqld_safe --skip-grant-tables
Schritt 3.
mysql -u root
Schritt 4.
use mysql;
Schritt 5.
show tables;
Schritt 6.
describe user;
Schritt 7.
update user set authentication_string=password('1111') where user='root';
Login mit Passwort 1111
quelle
flush privileges
ist als letzter Schritt wichtig.Ich habe mich auch umgesehen und wahrscheinlich passen einige Antworten für bestimmte Situationen.
Meine Situation ist MySQL 5.7 auf einem Ubuntu 18.04.2 LTS-System:
(Holen Sie sich Root-Rechte)
(Passwort für Root-DB-Benutzer einrichten + Sicherheit in Schritten implementieren)
(Geben Sie dem Root-Benutzer anstelle des Sockets Zugriff über das Kennwort.)
(+ edit: anscheinend musst du das passwort nochmal setzen?)
(Setzen Sie es nicht auf 'mySecretPassword' !!!)
Vielen Dank an zetacu (und erich ) für diese hervorragende Antwort (nach ein paar Stunden Suche ...)
Viel Spaß :-D
S.
quelle
Unter MySQL 8.0.4+
So aktualisieren Sie den aktuellen Root-Benutzer:
So aktualisieren Sie andere Benutzer:
So legen Sie die Kennwortrichtlinie fest, bevor Sie das Kennwort aktualisieren:
Andere / bessere Möglichkeit, das Root-Passwort zu aktualisieren:
Möchten Sie bei der 5.x-Authentifizierung bleiben, damit Sie weiterhin ältere Apps verwenden können?
Auf
my.cnf
So aktualisieren Sie root:
quelle
Das hat bei mir funktioniert -
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
https://dev.mysql.com/doc/mysql-windows-excerpt/5.7/de/resetting-permissions-windows.html
quelle
Sie müssen das Passwort zurücksetzen! Schritte für Mac OSX (getestet und funktioniert) und Ubuntu
Stoppen Sie MySQL
Starten Sie es im abgesicherten Modus:
(über der Zeile steht der gesamte Befehl)
Dies ist ein fortlaufender Befehl, bis der Vorgang abgeschlossen ist. Öffnen Sie daher ein anderes Shell- / Terminalfenster und melden Sie sich ohne Kennwort an:
Starten Sie MySQL
Ihr neues Passwort ist 'Passwort'.
quelle
Für MySQL 5.7.6 und höher:
Für MySQL 5.7.5 und früher:
quelle
Für die aktuellste MySQL-Version (8.0.16) hat keine dieser Antworten bei mir funktioniert.
Nachdem ich mir verschiedene Antworten angesehen und sie miteinander kombiniert hatte, habe ich Folgendes verwendet:
Hoffe das hilft.
quelle
Ein häufiger Fehler, auf den ich von Zeit zu Zeit stoße, ist, dass ich die
-p
Option vergesse. Sind Sie also sicher, dass Sie Folgendes verwendet haben:quelle
In MySQL 5.7 wird das Kennwort durch 'authentication_string' ersetzt.
verwenden
quelle
Verwenden des Befehlszeilenprogramms mysqladmin zum Ändern des MySQL-Kennworts:
Quelle
quelle
Versuchte die Antwort von @kta, funktionierte aber nicht für mich.
Ich benutze MySQL 8.0
Das hat bei mir funktioniert:
mysql>
SET PASSWORD FOR 'root'@'localhost' = 'yourpassword'
quelle
So viele Kommentare, aber mir wurde diese Methode geholfen:
In meinem Fall hatte ich nach der Installation einen MySQL-Dienst ohne Passwort für den Root-Benutzer erhalten, und ich musste das Passwort für meine Sicherheit festlegen.
quelle
Aug 07 16:21:55 ubuntupc sudo[93250]: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/mysqladmin -u root password 'my password'
Stoppen Sie alle Wamp-Dienste und verlassen Sie Wamp.
Öffnen Sie den Editor und geben Sie> SET PASSWORD FOR 'root' @ 'localhost' = PASSWORD ('') ein.
Speichern Sie es dann auf c: Laufwerk mit einem beliebigen Namen. wie folgt "c: /example.txt"
Jetzt gehe zu deinem "wamp" falder wamp> bin> mysql> mysql (deine Version)> bin in meinem Fallpfad ist "C: \ wamp \ bin \ mysql \ mysql5.6.17 \ bin".
Kopieren Sie nun Ihren Pfad und führen Sie cmd mit (Strg + r) aus. Geben Sie dann "cmd" ein (Eingabe).
Geben Sie cd ein, klicken Sie mit der rechten Maustaste auf cmd und fügen Sie den Pfad ein (geben Sie ein). Geben Sie nun (mysqld --init-file = C: \ example.txt) ohne geschweifte Klammern ein (geben Sie ein).
Starten Sie dann den PC neu oder öffnen Sie taskmgr und beenden Sie mysqld.exe
Starten Sie Wamp und Ihr Passwort wird entfernt ...
quelle
Wenn Sie für MacOS-Benutzer Ihr Root-Passwort vergessen haben, ist die Antwort von @ thusharaK ( https://stackoverflow.com/a/28601069/5628856 ) gut, aber es gibt noch ein paar weitere Tricks:
Wenn Sie die Systemeinstellungen verwenden, um MySQL-Server zu starten, einfach
funktioniert möglicherweise nicht für Sie.
Sie müssen sicherstellen, dass die Befehlszeilenargumente mit der Systemstartkonfiguration identisch sind.
Der folgende Befehl funktioniert bei mir:
Sie können verwenden
um deine eigenen zu überprüfen.
quelle
Unter Ubuntu
Ersetzen Sie
5.5
durch Ihre aktuelle Version und Sie werden nach dem neuen Root-Passwort gefragt.quelle