2

用于重置密码的 Mysql 数据库的简单查询如何

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

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

它不起作用。

4

2 回答 2

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 手册

于 2013-07-30T16:35:49.790 回答
3

您无需选择;只更新。

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

您的问题可能源于您的 select 语句后缺少分号。

于 2012-05-22T17:18:58.573 回答