2012-05-22 74 views
2

怎麼會找Mysql數據庫的簡單查詢重置密碼更改或MySQL用戶重置密碼

我有我的示例代碼,但它不工作,我不知道如何使它工作

SELECT `User`, `Host`, Length(`Password`) FROM mysql.user 
UPDATE mysql.user SET Password = PASSWORD('password') WHERE user = 'username'; 

它不起作用。

回答

3

您不需要選擇;只更新。

update mysql.user set password=PASSWORD("NEW-PASSWORD-HERE") where User='USER'; 

您的問題可能源於您的select語句後缺少的分號。

+0

這基本上是什麼OP了,除非你假定'mysql'是當前選定的數據庫,並且OP明確強制它成爲該數據庫。 –

+0

好的,修好了。 –

3

試試這個:

SET PASSWORD FOR 'USER'@'HOST' = PASSWORD('PASSWORD'); 

或者,如果你想直接更新表,不要忘記沖水特權。

UPDATE mysql.user SET Password = PASSWORD('PASSWORD') 
WHERE user = 'USERNAME' AND Host='HOST'; 
FLUSH PRIVILEGES; 

最後,還有第三種方式使用GRANT:

GRANT USAGE ON *.* TO 'USER'@'HOST' IDENTIFIED BY 'PASSWORD'; 

參考:MySQL 5.7 Manual