ALTER USER无法更改root密码

时间:2017-08-05 02:57:17

标签: mysql ubuntu-16.04

我的MySQL版本是5.7.19,当检查用户数据时

SELECT User, Host, HEX(authentication_string) FROM mysql.user;

我发现“root”没有密码,但我知道它有密码。

现在我尝试使用

为其指定密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'this is my password xxxxxxx';

事实证明这个命令不起作用。但是这个命令正在运行

UPDATE mysql.user SET authentication_string = PASSWORD('this is my password xxxxxxx') WHERE User = 'root' AND Host = 'localhost';

现在我尝试使用

再次更改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'this is my password xxxxxxx';

但不是更改我的密码,而是导致我的密码(HEX)再次清空。

我的MySQL出了什么问题吗?

我尝试创建新用户,使用ALTER USER指定密码,然后就可以了!

为什么这个ALTER USER无法处理“root”?

使用不同的VPS,ALTER USER可以正常更改“root”密码。

1 个答案:

答案 0 :(得分:0)

回答我自己的问题,似乎有一个错误。出现此问题的原因是我在安装MySQL时设置密码时使用了复制粘贴。卸载并重新安装后,现在手动输入密码,此问题就消失了。

有关此问题的其他信息,即使使用

“成功”设置密码也是如此

UPDATE mysql.user SET authentication_string = PASSWORD('this is my password xxxxxxx') WHERE User = 'root' AND Host = 'localhost';

我可以看到那里有一个使用

的密码

SELECT User, Host, HEX(authentication_string) FROM mysql.user;

我仍然可以使用mysql -u root

在没有密码的情况下登录