webentwicklung-frage-antwort-db.com.de

Setzen Sie das MySQL-Root-Passwort mit der ALTER USER-Anweisung nach der Installation auf dem Mac zurück

Ich bin neu in der gesamten Mac-Erfahrung. Ich habe kürzlich MySQL installiert und es scheint, dass ich das Passwort nach der Installation zurücksetzen muss. Es lässt mich nichts anderes tun.

Jetzt habe ich das Passwort wie gewohnt zurückgesetzt:

update user set password = password('XXX') where user = root;

(Übrigens: Ich habe ewig gebraucht, um herauszufinden, dass MySQL aus irgendeinem bizarren Grund das Feld 'password' in 'authentication_string' umbenannt hat. Ich bin ziemlich verärgert über solche Änderungen.)

Leider muss ich das Passwort auf eine andere, mir unbekannte Weise ändern. Vielleicht ist hier schon jemand auf dieses Problem gestoßen?

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

FEHLER 1820 (HY000): Sie müssen Ihr Kennwort mit der Anweisung ALTER USER zurücksetzen, bevor Sie diese Anweisung ausführen.

mysql> SET PASSWORD = PASSWORD('your_new_password');

Abfrage OK, 0 Zeilen betroffen, 1 Warnung (0,01 Sek.)


Hier habe ich die Antwort gefunden: https://dev.mysql.com/doc/refman/5.6/en/alter-user.html

466
Madmint

Wenn Sie mysql mit mysql -u root -p gestartet haben

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

Quelle: http://dev.mysql.com/doc/refman/5.7/de/resetting-permissions.html

110
shnraj

Ich habe das gleiche Problem auf dem Mac

Melden Sie sich zuerst mit dem Sandbox-Modus in mysql an

mysql -u <user> -p --connect-expired-password

Legen Sie dann das Passwort fest

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

Query OK, 0 rows affected, 1 warning (0.01 sec)

Es funktioniert bei mir ~

via: https://dba.stackexchange.com/questions/118852/your-paswssword-has-expired-after-restart-mysql-when-updated-mysql-5-7-8-rcde

32
Ezio Shiki

Wenn Sie MySQL 5.7.6 und höher verwenden:

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

Wenn Sie MySQL 5.7.5 und früher verwenden:

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

MySQL-Dokumentation

14
Johel Alvarez

Führen Sie diese aus:

$ cd /usr/local/mysql/bin
$ ./mysqladmin -u root password 'password'

Dann renne

./mysql -u root

Es sollte sich anmelden. Führen Sie nun die FLUSH-Berechtigungen aus.

Beenden Sie dann die MySQL-Konsole und versuchen Sie sich anzumelden. Wenn das nicht funktioniert, führen Sie Folgendes aus:

$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET authentication_string=PASSWORD("XXXXXXX") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

Ändern Sie xxxxxx, um Ihr neues Passwort zu erhalten. Versuchen Sie dann erneut, sich anzumelden.

Aktualisieren. Siehe hierzu http://dev.mysql.com/doc/refman/5.7/de/resetting-permissions.html

Es sollte Ihr Problem lösen.

Wenn Sie auf Oracle sind, versuchen Sie dies

ALTER USER username IDENTIFIED BY password
11
user4942382

Unter MySQL 5.7.x müssen Sie zum nativen Kennwort wechseln, um es ändern zu können. Beispiel:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
9
Vadim Smilansky

Vielleicht versuchen Sie das?

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

oder

SET PASSWORD FOR 'root'@'%' = PASSWORD('XXX');

Abhängig davon, welchen Zugang Sie verwenden.

(und nicht sicher, ob Sie sich Feldnamen ändern sollten ...)

https://dev.mysql.com/doc/refman/5.0/en/set-password.html

7
Mateo Barahona

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

Verwenden Sie diese Zeile ...

7
Manoj Behera

Bei Ver 14.14 Distrib 5.7.19, for macos10.12 (x86_64) habe ich mich angemeldet als: mysql -uroot -p und dann bei der Installation das von MySQL generierte Passwort eingegeben. Dann..

ALTER USER 'root'@'localhost' IDENTIFIED BY '<new_password>';

Beispiel:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Ab1234'; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye $ mysql -uroot -p

Und Sie können "Ab1234" eingeben

4
Kenny Alvizuris

UPDATE-Benutzer SET authentication_string = PASSWORD ("MyPassWord") WHERE User = 'root'; FEHLER 1064 (42000): Ihre SQL-Syntax ist fehlerhaft. In dem Handbuch, das Ihrer MySQL-Serverversion entspricht, finden Sie die richtige Syntax für near '("MyPassWord") WHERE User =' root '' in Zeile 1

Gelöst mit

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

Hinweis von unten vor Ort

https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

4

Mysql 5.7.24 bekommen root ersten Login

Schritt 1: Passwort aus dem Log holen

 grep [email protected] /var/log/mysqld.log
    Output
        2019-01-17T09:58:34.459520Z 1 [Note] A temporary password is generated for [email protected]: wHkJHUxeR4)w

Schritt 2: Loggen Sie sich mit ihm in MySQL ein

mysql -uroot -p'wHkJHUxeR4)w'

Schritt 3: Sie geben ein neues root-Passwort ein

SET PASSWORD = PASSWORD('xxxxx');

du erhältst ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

wie behebt man das?

führe dies ausSET GLOBAL validate_password_policy=LOW;

Versuchen Sie es erneutSET PASSWORD = PASSWORD('xxxxx');

2
Robert A

Das hat bei mir funktioniert:

ALTER USER USER () IDENTIFIZIERT DURCH 'auth_string';

Ich fand es hier: http://dev.mysql.com/doc/refman/5.7/en/alter-user.html#alter-user-current

2

Wenn Sie SET PASSWORD = PASSWORD('your_new_password'); verwenden, kann es zu einem Absturz kommen

(FEHLER 1819 (HY000): Ihr Passwort entspricht nicht den aktuellen Richtlinienanforderungen.)

Sie können SET GLOBAL validate_password_policy=LOW; verwenden, um es zu verschieben.

Hier ist der Weg, der für mich funktioniert.

mysql> show databases ;

FEHLER 1820 (HY000): Sie müssen Ihr Kennwort mit der Anweisung ALTER USER zurücksetzen, bevor Sie diese Anweisung ausführen.

mysql> uninstall plugin validate_password;

FEHLER 1820 (HY000): Sie müssen Ihr Kennwort mit der Anweisung ALTER USER zurücksetzen, bevor Sie diese Anweisung ausführen.

mysql> alter user 'root'@'localhost' identified by 'root';

Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

mysql> flush privileges;

Abfrage OK, 0 Zeilen betroffen (0,03 Sek.)

1
sunling90

in 5.7 Version. Feld 'Passwort' wurde gelöscht. 'authentication_string' ersetze es

use mysql;
update user set authentication_string=password('123456') where user='root';
flush privileges;
1
HUAN LIU

Ich habe auch das gleiche Problem unter Mac OS X 10.10.4 (Yosemite). SET PASSWORD funktioniert für mich. Abfrage OK, 0 Zeilen betroffen, 1 Warnung (0,01 Sek.)

legen Sie Ihre Mysql-Umgebungspfadvariable in .bash_profile fest und fügen Sie die folgende Zeile hinzu
export PATH = $ PATH:/usr/local/mysql/bin. Führen Sie anschließend den folgenden Befehl aus: source .bash_profile

0
Moumita

mysql> SET PASSWORD = PASSWORD('your_new_password'); Das funktioniert bei mir.

0
zhao

Hatte das Problem nach der Installation von MySQL Workbench und MySQL Community Server. Passwort wurde während der Serverinstallation generiert. Ein Doppelklick auf die vorhandene lokale Instanz in der Workbench löste einen Dialog aus, in dem ich das neue Passwort festlegen konnte.

0
Malte

denken Sie an die Versionen 5.7.23 und höher - die Benutzertabelle hat kein Spaltenkennwort, stattdessen eine Authentifizierungszeichenfolge. Dies funktioniert, während das Kennwort für einen Benutzer zurückgesetzt wird.

update user set authentication_string=password('root') where user='root';
0
Pravin