ALTER USER 无法更改 root 密码
ALTER USER not working to change root password
我的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" 密码。
回答我自己的问题,似乎有一个错误。出现这个问题是因为我在安装MySQL时设置密码时使用了复制粘贴。卸载重装后,现在手动输入密码,问题没有了。
有关此问题的其他信息,即使密码 "successfully" 使用
设置
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
免密码登录
我的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" 密码。
回答我自己的问题,似乎有一个错误。出现这个问题是因为我在安装MySQL时设置密码时使用了复制粘贴。卸载重装后,现在手动输入密码,问题没有了。
有关此问题的其他信息,即使密码 "successfully" 使用
设置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