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; |
No Responses