Ich musste mysqladmin -u root -p shutdownmit dem neuen Passwort verwenden.
SL Barth - Stellen Sie Monica
2
Besonders
netter
8
Ich kann das nicht machen mysql -u root. Es zeigt FehlerAccess denied
Avinash Raj
4
@ AvashashRaj: Versuchen Sie dies: sudo mysql -u root
Allen Gingrich
Genial. Ich verstehe, was in RHEL 7 funktioniert hat: Terminal 1: sudo-Dienst mysql stop sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-network Terminal 2: mysql -u root UPDATE mysql.user SET Password = PASSWORD ('neues Passwort') WHERE User = 'root'; SPÜLPRIVILEGIEN; mysqladmin -u root -p shutdown Hinweis: Sobald Sie mysqladmin herunterfahren, werden die abgesicherten Modi in Terminal 1 beendet. sudo service mysql start Das war's und es funktioniert wie ein Zauber mit dem neuen Passwort!
StackOverFlow User
65
Sie können das Hash-Passwort nicht anzeigen. Sie können es nur zurücksetzen!
Dies ist ein fortlaufender Befehl, bis der Vorgang abgeschlossen ist. Öffnen Sie daher ein anderes Shell- / Terminalfenster und melden Sie sich ohne Kennwort an:
$ mysql -u root
mysql>UPDATE mysql.userSET Password=PASSWORD('password')WHEREUser='root';
In meinem Fall war das Passwort nicht hier; /var/log/mysql/error.logenthielt jedoch stattdessen eine Warnung, dass das Root-Passwort leer sei - so rettete diese Art meinen Tag :)
Janaka Bandara
18
Eine Sache, die mich bei einer Neuinstallation von mySQL auslöste und mich fragte, warum ich das Standardkennwort nicht zum Laufen bringen konnte und warum selbst die Rücksetzmethoden nicht funktionierten. Nun stellt sich heraus, dass unter Ubuntu 18 die neueste Version des MySQL-Servers standardmäßig überhaupt keine Kennwortauthentifizierung für den Root-Benutzer verwendet. Das bedeutet also, dass es egal ist, auf was Sie es eingestellt haben, Sie können es nicht verwenden. Es wird erwartet, dass Sie sich von einem privilegierten Socket aus anmelden. so
mysql -u root -p
funktioniert überhaupt nicht, auch wenn Sie das richtige Passwort verwenden !!! Es wird den Zugriff verweigern, egal was Sie eingeben.
Stattdessen müssen Sie verwenden
sudo mysql
das wird ohne Passwort funktionieren. Sobald Sie in sind, müssen Sie eingeben
ALTERUSER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY'Password you want to use';
dann melde dich ab und jetzt akzeptiert das verdammte Ding endlich dein Passwort
Sie können es nicht finden. Es wird in einer Datenbank gespeichert, auf die Sie mit dem Root-Passwort zugreifen müssen, und selbst wenn Sie irgendwie Zugriff erhalten haben, wird es mit einem One-Way-Hash gehasht. Sie können es zurücksetzen: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
arbeitete in Centos7 mysqld --init-file=/root/m.txt. Ich habe den obigen Befehl SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');zu /root/m.txt hinzugefügt
Damodar Bashyal
8
Sofern der Paketmanager Sie nicht auffordert, das Root-Passwort während der Installation einzugeben, ist das Standard-Root-Passwort die leere Zeichenfolge. Geben Sie Folgendes ein, um eine Verbindung zum frisch installierten Server herzustellen:
shell> mysql -u root --password=
mysql>
Um das Passwort zu ändern, rufen Sie die Unix-Shell zurück und geben Sie Folgendes ein:
Hoppla, das Passwort hat sich geändert. Verwenden Sie die neue , root:
shell> mysql -u root --password=root...
blah, blah, blah : mysql welcome banner
...
mysql>
Bingo! Neu etwas interessantes machen
mysql> show databases;+--------------------+|Database|+--------------------+| information_schema || mysql || performance_schema |+--------------------+3rowsinset(0.00 sec)
Derzeit werden standardmäßig keine Kennwörter, sondern authentifizierte Sockets verwendet. Nur das Passwort zu ändern ist also nicht mehr gut genug.
Kit Ramos
7
Zusätzlich zu den anderen Antworten wird in einer cpanel-Installation das MySQL-Root-Passwort in einer Datei mit dem Namen gespeichert /root/.my.cnf. (und der cpanel-Dienst setzt es bei Änderungen zurück, sodass die anderen Antworten hier nicht helfen)
Sie können MySQL-Root-Passwort anzeigen, nun, ich habe es auf MySQL 5.5 versucht, also wissen Sie nicht, ob andere neue Versionen gut funktionieren oder nicht
Es scheint, dass der MySQL-Server standardmäßig keine Kennwortauthentifizierung mehr verwendet. Sie müssen den MySQL-Client als Superuser (sudo) starten, um Zugriff zu erhalten, bis Sie die Anmeldemethode ändern.
Kit Ramos
4
Das Standardkennwort, das nach der sofortigen Installation des MySQL-Servers für mich funktioniert hat, lautet: mysql
Vielleicht hat er die Frage nicht beantwortet, aber viele Leute, die hierher kommen, finden vielleicht, dass sie ihr Problem lösen.
Ohad Cohen
3
Die Prozedur ändert sich abhängig von der Version von MySql. Befolgen Sie die Anweisungen genau wie für Ihre Version beschrieben:
TIPPS - Lesen Sie vor der Anweisungsseite Ihre Version von MySql *
In Schritt 5: Erstellen Sie anstelle von CMD eine Verknüpfung auf Ihrem Desktop, indem Sie CDM.exe aufrufen. Klicken Sie dann mit der rechten Maustaste auf die Verknüpfung und wählen Sie "Als Administrator ausführen".
In Schritt 6: Überspringen Sie die erste vorgeschlagene Version des Befehls und führen Sie die zweite aus, die mit dem Parameter --defaults-file
Sobald Sie den Befehl ausführen und alles in Ordnung ist, bleibt das CMD-Fenster geöffnet und der Befehl von Schritt 6 wird weiter ausgeführt. Schließen Sie einfach das Fenster (klicken Sie auf 'x') und erzwingen Sie das Schließen von MySQl im Task-Manager.
Löschen Sie die Datei mit den SQL-Befehlen und starten Sie MySQL erneut. Das Passwort muss jetzt geändert werden.
Die hier gegebenen Antworten schienen für mich nicht zu funktionieren, der Trick stellte sich heraus: ALTER USER 'root' @ 'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
Öffnen Sie zwei Shell-Sitzungen und melden Sie sich bei einer als Linux-Root-Benutzer und bei der anderen als Nicht-Root-Benutzer mit Zugriff auf den mysqlBefehl an.
Stoppen Sie in Ihrer Root-Sitzung den normalen mysqld-Listener und starten Sie einen Listener, der die Kennwortauthentifizierung umgeht ( Hinweis: Dies stellt ein erhebliches Sicherheitsrisiko dar, da jeder, der Zugriff auf den mysql
Befehl hat, ohne Kennwort auf Ihre Datenbanken zugreifen kann. Möglicherweise möchten Sie aktive Shell-Sitzungen schließen und / oder deaktivieren Sie den Shell-Zugriff, bevor Sie dies tun):
# systemctl stop mysqld # /usr/sbin/mysqld --skip-grant-tables -u mysql &
Melden Sie sich in Ihrer Nicht-Root-Sitzung bei MySQL an und legen Sie das MySQL-Root-Passwort fest:
Ich habe das anders gelöst, für manche mag das einfacher sein.
Ich habe es so gemacht, weil ich versucht habe, im abgesicherten Modus zu starten, aber keine Verbindung mit dem Fehler herstellen kann: FEHLER 2002 (HY000): Über den Socket '/var/run/mysqld/mysqld.sock' (2) kann keine Verbindung zum lokalen MySQL-Server hergestellt werden.
Was ich getan habe war, mich normal als root zu verbinden:
Antworten:
Dank @thusharaK konnte ich das Root-Passwort zurücksetzen, ohne das alte Passwort zu kennen.
Auf Ubuntu habe ich folgendes gemacht:
Führen Sie dann MySQL in einem neuen Terminal aus:
Führen Sie die folgenden Abfragen aus, um das Kennwort zu ändern:
In MySQL 5.7 wurde das Kennwortfeld im Tabellenfeld mysql.user entfernt. Jetzt lautet der Feldname 'authentication_string'.
Beenden Sie den abgesicherten MySQL-Modus und starten Sie den MySQL-Dienst wie folgt:
quelle
mysqladmin -u root -p shutdown
mit dem neuen Passwort verwenden.mysql -u root
. Es zeigt FehlerAccess denied
Sie können das Hash-Passwort nicht anzeigen. Sie können es nur zurücksetzen!
Stoppen Sie MySQL:
oder
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:
MySQL 5.7 und höher:
Starten Sie MySQL:
oder
Ihr neues Passwort lautet "Passwort".
quelle
mysql_secure_installation
und root kooperierte nicht mehr. Was macht dieauthentication_string
Einstellung?mysqladmin -u root -p shutdown
mit dem neuen Passwort dannsudo service mysql start
MySQL 5.7 und höher speichert root in der MySQL-Protokolldatei.
Bitte versuchen Sie dies:
quelle
/var/log/mysql/error.log
enthielt jedoch stattdessen eine Warnung, dass das Root-Passwort leer sei - so rettete diese Art meinen Tag :)Eine Sache, die mich bei einer Neuinstallation von mySQL auslöste und mich fragte, warum ich das Standardkennwort nicht zum Laufen bringen konnte und warum selbst die Rücksetzmethoden nicht funktionierten. Nun stellt sich heraus, dass unter Ubuntu 18 die neueste Version des MySQL-Servers standardmäßig überhaupt keine Kennwortauthentifizierung für den Root-Benutzer verwendet. Das bedeutet also, dass es egal ist, auf was Sie es eingestellt haben, Sie können es nicht verwenden. Es wird erwartet, dass Sie sich von einem privilegierten Socket aus anmelden. so
funktioniert überhaupt nicht, auch wenn Sie das richtige Passwort verwenden !!! Es wird den Zugriff verweigern, egal was Sie eingeben.
Stattdessen müssen Sie verwenden
das wird ohne Passwort funktionieren. Sobald Sie in sind, müssen Sie eingeben
dann melde dich ab und jetzt akzeptiert das verdammte Ding endlich dein Passwort
quelle
Sie können es nicht finden. Es wird in einer Datenbank gespeichert, auf die Sie mit dem Root-Passwort zugreifen müssen, und selbst wenn Sie irgendwie Zugriff erhalten haben, wird es mit einem One-Way-Hash gehasht. Sie können es zurücksetzen: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
quelle
Befolgen Sie diese Schritte, um das Kennwort im Windows-System zurückzusetzen
Beenden Sie den MySQL-Dienst über den Task-Manager
Erstellen Sie eine Textdatei und fügen Sie die folgende Anweisung ein
Speichern unter
mysql-init.txt
und platzieren Sie es in'C' drive
.Öffnen Sie die Eingabeaufforderung und fügen Sie Folgendes ein
C:\> mysqld --init-file=C:\\mysql-init.txt
quelle
mysqld --init-file=/root/m.txt
. Ich habe den obigen BefehlSET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');
zu /root/m.txt hinzugefügtSofern der Paketmanager Sie nicht auffordert, das Root-Passwort während der Installation einzugeben, ist das Standard-Root-Passwort die leere Zeichenfolge. Geben Sie Folgendes ein, um eine Verbindung zum frisch installierten Server herzustellen:
Um das Passwort zu ändern, rufen Sie die Unix-Shell zurück und geben Sie Folgendes ein:
Das neue Passwort lautet 'root'. Stellen Sie nun eine Verbindung zum Server her:
Hoppla, das Passwort hat sich geändert. Verwenden Sie die neue ,
root
:Bingo! Neu etwas interessantes machen
Maurycy
quelle
Zusätzlich zu den anderen Antworten wird in einer cpanel-Installation das MySQL-Root-Passwort in einer Datei mit dem Namen gespeichert
/root/.my.cnf
. (und der cpanel-Dienst setzt es bei Änderungen zurück, sodass die anderen Antworten hier nicht helfen)quelle
Sie können MySQL-Root-Passwort anzeigen, nun, ich habe es auf MySQL 5.5 versucht, also wissen Sie nicht, ob andere neue Versionen gut funktionieren oder nicht
quelle
Das hat bei mir funktioniert:
Geben Sie am Terminal Folgendes ein
$ sudo mysql -u root -p
Passwort eingeben: // Drücken Sie einfach die Eingabetaste
mysql>
quelle
Das Standardkennwort, das nach der sofortigen Installation des MySQL-Servers für mich funktioniert hat, lautet:
mysql
quelle
Die Prozedur ändert sich abhängig von der Version von MySql. Befolgen Sie die Anweisungen genau wie für Ihre Version beschrieben:
TIPPS - Lesen Sie vor der Anweisungsseite Ihre Version von MySql *
In Schritt 5: Erstellen Sie anstelle von CMD eine Verknüpfung auf Ihrem Desktop, indem Sie CDM.exe aufrufen. Klicken Sie dann mit der rechten Maustaste auf die Verknüpfung und wählen Sie "Als Administrator ausführen".
In Schritt 6: Überspringen Sie die erste vorgeschlagene Version des Befehls und führen Sie die zweite aus, die mit dem Parameter --defaults-file
Sobald Sie den Befehl ausführen und alles in Ordnung ist, bleibt das CMD-Fenster geöffnet und der Befehl von Schritt 6 wird weiter ausgeführt. Schließen Sie einfach das Fenster (klicken Sie auf 'x') und erzwingen Sie das Schließen von MySQl im Task-Manager.
Löschen Sie die Datei mit den SQL-Befehlen und starten Sie MySQL erneut. Das Passwort muss jetzt geändert werden.
5.0 http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
5.1 http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html
... ändern Sie einfach die Version im Link (5.5, 5.6, 5.7)
quelle
Versuchen Sie in Ihrer .err-Datei "Hostname" im Datenordner, an dem MySQL arbeitet, nach einer Zeichenfolge zu suchen, die mit Folgendem beginnt:
"Für roor @ localhost wird ein temporäres Passwort generiert."
Sie können verwenden
dann Schrägstrichbefehl gefolgt von der Zeichenfolge, nach der Sie suchen möchten
Drücken Sie dann n, um zum nächsten Ergebnis zu gelangen.
quelle
Die hier gegebenen Antworten schienen für mich nicht zu funktionieren, der Trick stellte sich heraus: ALTER USER 'root' @ 'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
(vollständige Antwort hier: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/ )
quelle
System:
Verfahren:
Öffnen Sie zwei Shell-Sitzungen und melden Sie sich bei einer als Linux-Root-Benutzer und bei der anderen als Nicht-Root-Benutzer mit Zugriff auf den
mysql
Befehl an.Stoppen Sie in Ihrer Root-Sitzung den normalen mysqld-Listener und starten Sie einen Listener, der die Kennwortauthentifizierung umgeht ( Hinweis: Dies stellt ein erhebliches Sicherheitsrisiko dar, da jeder, der Zugriff auf den
mysql
Befehl hat, ohne Kennwort auf Ihre Datenbanken zugreifen kann. Möglicherweise möchten Sie aktive Shell-Sitzungen schließen und / oder deaktivieren Sie den Shell-Zugriff, bevor Sie dies tun):# systemctl stop mysqld
# /usr/sbin/mysqld --skip-grant-tables -u mysql &
Melden Sie sich in Ihrer Nicht-Root-Sitzung bei MySQL an und legen Sie das MySQL-Root-Passwort fest:
$ mysql
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> quit;
Beenden Sie in Ihrer Root-Sitzung die kennwortlose Instanz von mysqld und stellen Sie den normalen mysqld-Listener wieder her:
# kill %1
# systemctl start mysqld
Testen Sie in Ihrer Nicht-Root-Sitzung das neue Root-Passwort, das Sie oben konfiguriert haben:
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
...
mysql>
quelle
Ich habe das anders gelöst, für manche mag das einfacher sein.
Ich habe es so gemacht, weil ich versucht habe, im abgesicherten Modus zu starten, aber keine Verbindung mit dem Fehler herstellen kann: FEHLER 2002 (HY000): Über den Socket '/var/run/mysqld/mysqld.sock' (2) kann keine Verbindung zum lokalen MySQL-Server hergestellt werden.
Was ich getan habe war, mich normal als root zu verbinden:
Dann habe ich einen neuen Superuser erstellt:
Dann logge dich als myuser ein
Der Versuch, das Passwort zu ändern, gab mir keine Fehler, tat aber nichts für mich, so dass ich den Root-Benutzer fallen ließ und neu erstellte
Der Root-Benutzer arbeitet jetzt mit dem neuen Passwort
quelle
Gehen Sie zu phpMyAdmin> config.inc.php> $ cfg ['Server'] [$ i] ['Passwort'] = '';
quelle
phpmyadmin
.