it-swarm.com.de

MySQL-Root-Passwortänderung

Ich habe versucht, mein MySQL-Root-Passwort zurückzusetzen. Ich habe die mysqld_safe --skip-grant-tables ausgeführt, das root-Passwort aktualisiert und die Benutzertabelle überprüft, um sicherzustellen, dass sie vorhanden ist. Nachdem ich den mysql-Daemon neu gestartet hatte, versuchte ich, mich mit dem neuen root-Passwort anzumelden, das ich soeben eingestellt habe und immer noch Zugriff auf Benutzer-Root-Fehler erhalten habe. Ich habe auch versucht, mysql vollständig zu entfernen und erneut zu installieren (einschließlich Entfernen der my.cnf-Datei) und immer noch kein Glück. Hat jemand Vorschläge, was ich als nächstes tun kann?

Danke im Voraus

30
nick

Fand es! Ich habe vergessen, das Passwort zu hacken, 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 die PASSWORD('NEW PASSWORD') vergessen und nur das neue Passwort im Klartext eingegeben

18
nick

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypass');

76
kta

schauen Sie sich das MySQL Reference Manual an:

UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;

Weitere Informationen finden Sie auf dieser Seite: Zurücksetzen des Root-Passworts: Unix Systems

42
VSB

Bitte befolgen Sie die folgenden Schritte.

schritt 1. Stoppen Sie 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';

einloggen mit Passwort 1111

12
Loki Chandu

Dies ist die aktualisierte Antwort für WAMP v3.0.6 und höher

> UPDATE mysql.user 
> SET authentication_string=PASSWORD('MyNewPass') 
> WHERE user='root';

>FLUSH PRIVILEGES;

In der MySQL-Version 5.7.x gibt es in der mysql-Tabelle kein Kennwortfeld mehr. Es wurde durch authentication_string ersetzt.

Ich habe mich auch umgesehen und wahrscheinlich passen einige Antworten für einige Situationen,

meine Situation ist Mysql 5.7 auf einem Ubuntu 18.04.2 LTS-System:

(Holen Sie sich root-Rechte)

$ Sudo bash

(Passwort für Root-Datenbankbenutzer einrichten + Sicherheit schrittweise implementieren)

# mysql_secure_installation

(Geben Sie dem Root-Benutzer den Zugang über das Passwort anstelle des Sockets.)

(+ edit: anscheinend musst du das passwort nochmal einstellen?)

(nicht auf 'mySecretPassword' setzen !!!)

# mysql -u root

mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> set password for 'root'@'localhost' = PASSWORD('mySecretPassword'); 
mysql> FLUSH PRIVILEGES;
mysql> exit;

# service mysql restart

Vielen Dank an zetac (und erich ) für diese ausgezeichnete Antwort (nach ein paar Stunden Suche ...)

Viel Spaß :-D

S.

4
Bamboomy

Sie müssen das Passwort zurücksetzen! Schritte für Mac OSX (getestet und funktionieren) und Ubuntu

Stoppen Sie MySQL

$ Sudo /usr/local/mysql/support-files/mysql.server stop

Starten Sie es im abgesicherten Modus:

$ Sudo mysqld_safe --skip-grant-tables

(über der Zeile steht der ganze Befehl)

Dies ist ein fortlaufender Befehl, bis der Prozess abgeschlossen ist. Öffnen Sie ein weiteres Shell/Terminal-Fenster und melden Sie sich ohne Kennwort an:

$ mysql -u root

mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';

Starten Sie MySQL

Sudo /usr/local/mysql/support-files/mysql.server start

ihr neues Passwort lautet 'Passwort'.

4
tk_

ein häufiger Fehler, dem ich gelegentlich begegnet, ist, dass ich die -p-Option vergessen habe.

mysql -u root -p
2
Marian Theisen

Für die aktuellste mysql-Version (8.0.16) hat keine dieser Antworten für mich funktioniert.

Nachdem ich mir verschiedene Antworten angesehen und diese kombiniert habe, habe ich am Ende Folgendes verwendet:

update user set authentication_string='test' where user='root';

Hoffe das hilft.

2
Suhas
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Sie finden Zurücksetzen des Root-Passworts in der MySQL-Dokumentation.

2
iamfaith

Verwenden Sie das Befehlszeilendienstprogramm mysqladmin, um das MySQL-Kennwort zu ändern:

mysqladmin --user=root --password=oldpassword password "newpassword"

Quelle

1
Darush

In MySQL 5.7 wird das Kennwort durch 'authentication_string' ersetzt.

benutzen

update user set authentication_string=password('myfavpassword') where user='root';
1
Kamal Reddy

beenden Sie alle Wamp-Dienste und verlassen Sie Wamp.

Öffnen Sie den Notizblock, und geben Sie> ein. SET PASSWORD FOR 'root' @ 'localhost' = PASSWORD ('');

dann speichern Sie es auf c: Laufwerk mit einem beliebigen Namen .. wie "c: /example.txt"

gehen Sie jetzt zu Ihrem "wamp" -Ordner. wamp> bin> mysql> mysql (Ihre Version)> binin meinem Fallpfad lautet "C:\wamp\bin\mysql\mysql5.6.17\bin"

kopieren Sie nun Ihren Pfad und führen Sie dann cmd mit (ctrl + r) aus. Geben Sie "cmd" ein (Eingabe).

geben Sie cd ein, klicken Sie mit der rechten Maustaste auf cmd und fügen Sie den Pfad ein (Eingabe) Geben Sie jetzt ein (mysqld --init-file = C:\example.txt) ohne geschweifte Klammern und dann (Eingabe).

starten Sie dann den PC neu oder öffnen Sie taskmgr und töten Sie mysqld.exe

starten Sie wamp und Ihr Passwort wird entfernt ...

0
MohitGhodasara

Für MySQL 5.7.6 und höher:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Für MySQL 5.7.5 und früher:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
0
Eagle_Eye

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'

0
chainstair

So viele Kommentare, aber mir wurde diese Methode geholfen:

Sudo mysqladmin -u root password 'my password'

In meinem Fall hatte ich nach der Installation einen MySQL-Dienst ohne Passwort für den Root-Benutzer und ich musste das Passwort für meine Sicherheit festlegen.

Wenn Sie Ihr Root-Passwort vergessen, ist die Antwort von @ thusharaK ( https://stackoverflow.com/a/28601069/5628856 ) für Mac OS-Benutzer gut, aber es gibt noch ein paar Tricks:

Wenn Sie die Systemeinstellung verwenden, um mysql serverside zu starten, müssen Sie dies einfach tun

Sudo mysqld_safe --skip-grant-tables

kann für Sie nicht funktionieren.

Sie müssen sicherstellen, dass die Befehlszeilenargumente mit der Systemstartkonfiguration identisch sind.

Der folgende Befehl funktioniert für mich:

/usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so --skip-grant-tables

Sie können verwenden 

ps aux | grep mysql

um deine eigenen zu überprüfen.

0
Shaofei Cheng
Sudo dpkg-reconfigure mysql-server-5.5 

Ersetzen Sie 5.5 durch Ihre aktuelle Version und Sie werden nach dem neuen Root-Passwort gefragt.

0
Mouneer

nter MySQL 8.0.4 +

So aktualisieren Sie den aktuellen Root-Benutzer:

wähle current_user ();
Set password = 'neues_kennwort';

So aktualisieren Sie einen anderen Benutzer:

Setze Passwort für 'otherUser' @ 'localhost' = 'new_password';

So legen Sie die Kennwortrichtlinie vor dem Aktualisieren des Kennworts fest:

setze global validate_password.policy = 0;
Set password = 'neues_kennwort';
Setze Passwort für 'otherUser' @ 'localhost' = 'new_password';

Ein anderer/besserer Weg, um das root-Passwort zu aktualisieren:

mysql_secure_installation



Möchten Sie bei der 5.x-Authentifizierung bleiben, damit Sie weiterhin ältere Apps verwenden können?

Auf my.cnf

default_authentication_plugin = mysql_native_password

So aktualisieren Sie root:

setze global validate_password.policy = 0;
Alter user 'root' @ 'localhost' identifiziert mit mysql_native_password durch 'new_password';

0
Carlito