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?
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
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
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 ~
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');
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
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';
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 ...)
ALTER USER 'root' @ 'localhost' IDENTIFIED BY 'new_password';
Verwenden Sie diese Zeile ...
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
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
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');
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
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.)
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;
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
mysql> SET PASSWORD = PASSWORD('your_new_password');
Das funktioniert bei mir.
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.
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';