2012-05-22 76 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