det finns flera sätt att ställa in ett MySQL användarlösenord:
– skapa användare … identifieras av
– bevilja … identifieras av
– ange lösenord
– mysqladmin lösenord
– uppdatera grant tabeller (rekommenderas inte)
för alla metoder, de privilegier som krävs för att ändra ett lösenord är:
1. Alla användare kan ändra sitt eget lösenord.
2. Användare med uppdatering på mysql-databasen kan uppdatera lösenord för andra användare med Ange lösenord eller i MySQL 5.7 och senare med ALTER USER.
3., Om alternativet read_only är aktiverat, förutom behörigheterna ovan, krävs SUPER.
ange lösenord
det vanligaste sättet att ändra ett befintligt kontos lösenord utan att ändra någon av dess behörighet är att använda Ange lösenord. Till exempel, för att ställa in lösenordet för tom på den lokala värden till new_password, använd följande uttalande:
mysql> SET PASSWORD FOR tom@localhost = PASSWORD('new_password');Query OK, 0 rows affected (0.00 sec)
om du är inloggad som en icke-root-användare och din användare inte har uppdateringsbehörighet för mysql-databasen kan du bara ändra ditt eget lösenord., Gör detta genom att använda SET PASSWORD statement utan FOR-klausulen:
mysql> SET PASSWORD = PASSWORD('new_password');
MySQL 5.7 och senare (Ange lösenord)
i MySQL 5.7 och senare är det inte nödvändigt att använda PASSWORD () – funktionen:
MySQL 5.7> SET PASSWORD FOR myuser@localhost = 'my_new_password';Query OK, 0 rows affected (0.01 sec)
för att ändra lösenordet för den aktuella användaren:
MySQL 5.7> SET PASSWORD = 'my_new_password';Query OK, 0 rows affected (0.00 sec)
mysqladmin
med mysqladmin-verktyget kan du ändra lösenordet för en användare som du känner till det befintliga lösenordet för., Användningen är:
$ mysqladmin --defaults-file=etc/my.cnf --user=tom --password my_new_passwordEnter password:New password:Confirm new password:
ALTER USER
Alter USER statement kan också användas för att ändra lösenordet för en befintlig användare:
MySQL 5.7> ALTER USER tom@localhost IDENTIFIED BY 'my_new_password';Query OK, 0 rows affected (0.01 sec)
ALTER USER stöder också manipulera flera användare med ett uttalande, till exempel:
MySQL 5.7> ALTER USER myuser@localhost, tom@localhost IDENTIFIED BY 'my_new_password';Query OK, 0 rows affected (0.01 sec)