Es gibt mehrere Möglichkeiten, ein MySQL-Benutzerkennwort festzulegen:
– BENUTZER ERSTELLEN…IDENTIFIZIERT DURCH
– GEWÄHREN…IDENTIFIZIERT DURCH
– KENNWORT FESTLEGEN
– mysqladmin-Kennwort
– Grant-Tabellen aktualisieren (nicht empfohlen)
Für alle Methoden sind die zum Ändern eines Kennworts erforderlichen Berechtigungen:
1. Alle Benutzer können ihr eigenes Passwort ändern.
2. Benutzer mit UPDATE on MySQL-Datenbank können Passwörter für andere Benutzer mit SET PASSWORD oder in MySQL 5.7 und höher mit ALTER USER aktualisieren.
3., Wenn die Option read_only aktiviert ist, ist zusätzlich zu den oben genannten Berechtigungen SUPER erforderlich.
PASSWORT FESTLEGEN
Die häufigste Möglichkeit, das Kennwort eines vorhandenen Kontos zu ändern, ohne dessen Berechtigungen zu ändern, besteht darin, die Anweisung SET PASSWORD zu verwenden. Um beispielsweise das Kennwort für tom auf dem lokalen Host auf new_password festzulegen, verwenden Sie die folgende Anweisung:
mysql> SET PASSWORD FOR tom@localhost = PASSWORD('new_password');Query OK, 0 rows affected (0.00 sec)
Wenn Sie als Nicht-Root-Benutzer angemeldet sind und Ihr Benutzer nicht über das Aktualisierungsrecht für die MySQL-Datenbank verfügt, können Sie nur Ihr eigenes Kennwort ändern., Verwenden Sie dazu die Anweisung SET PASSWORD ohne die FOR-Klausel:
mysql> SET PASSWORD = PASSWORD('new_password');
MySQL 5.7 und höher (PASSWORT FESTLEGEN)
In MySQL 5.7 und höher ist es nicht erforderlich, die Funktion PASSWORD() zu verwenden:
MySQL 5.7> SET PASSWORD FOR myuser@localhost = 'my_new_password';Query OK, 0 rows affected (0.01 sec)
Um das Kennwort für den aktuellen Benutzer zu ändern:
MySQL 5.7> SET PASSWORD = 'my_new_password';Query OK, 0 rows affected (0.00 sec)
mysqladmin
Mit dem Dienstprogramm mysqladmin können Sie das Kennwort für einen Benutzer ändern, für den Sie das vorhandene Kennwort kennen., Die Verwendung ist:
$ mysqladmin --defaults-file=etc/my.cnf --user=tom --password my_new_passwordEnter password:New password:Confirm new password:
ALTER USER
Die ALTER USER Anweisung kann auch verwendet werden, um das Passwort eines vorhandenen Benutzers zu ändern:
MySQL 5.7> ALTER USER tom@localhost IDENTIFIED BY 'my_new_password';Query OK, 0 rows affected (0.01 sec)
ALTER USER unterstützt auch die Manipulation mehrerer Benutzer mit einer Anweisung, zum Beispiel:
MySQL 5.7> ALTER USER myuser@localhost, tom@localhost IDENTIFIED BY 'my_new_password';Query OK, 0 rows affected (0.01 sec)