MySQL 提供几种不同的方法可以修改密码, 分别是 UPDATE, SET PASSWORD 及 GRANT, 下文会示范如何用这几种方法修改 MySQL 用户的密码。
UPDATE:
MySQL 的 UPDATE 作用是修改资料, 要修改密码只要修改 “mysql” 数据库里面的 “user” 资料表内, 相关用户的 “password” 资料就可以, 例如要修改密吗的 MySQL 用户是 “phpini”, host 是 “localhost”, 新密码设定为 “new_password”, 先登入 mysql:
# mysql -u root -p
输入 MySQL root 密码后可以输入 MySQL statement, 这样修改:
|
1 2 3 4 5 6 7 8 |
USE mysql; UPDATE user SET password = PASSWORD('new_password') WHERE user = 'phpini' AND host = 'localhost'; FLUSH PRIVILEGES; |
上面用到的 PASSWORD() 函式会将 “new_password” 加密, 这样放到 user 资料表内才有用的, 而 FLUSH PRIVILEGES 是重新加载权限资料。
SET PASSWORD:
另一个方法是用 SET PASSWORD, 这个方法较方法, 整段 SQL Query 较短, 而且无须使用 FLUSH PRIVILEGES 重新加载权限, 同上面一样, 先登入 mysql, 然后输入以下 SQL statement:
|
1 |
SET PASSWORD FOR 'phpini'@'localhost' = PASSWORD('new_password'); |
GRANT USAGE:
最后要介绍的方法是用 GRANT USAGE, 它跟 SET PASSWORD 一样无须使用 FLUSH PRIVILEGES 重新加载权限, 而且连 PASSWORD() 也不用, SQL statement 的语法是这样:
|
1 |
GRANT USAGE ON *.* TO phpini@localhost IDENTIFIED BY new_password; |