我的问题和详细信息
我想在MySQL8.0中更改一个用户的密码,但似乎网上几乎所有的方法都不起作用。
下面是我的mysql.user表的详细信息:
mysql> select user, host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| Excalibur | % |
| yyy | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
我所做的一切
我试过了
alter user 'yyy'@'%' identified with mysql_native_password by '12345';
并收到错误消息:
ERROR 1396 (HY000): Operation ALTER USER failed for 'yyy'@'%'
我还尝试自己操作mysql.user表:
update user set authentication_string=sha1('12345') where user = 'yyy' ;
flush privileges;
虽然成功了,但是我不能用(我应该是的)密码12345登录yyy.然后我看了一下表格,确实很奇怪:
+------------------+-----------+------------------------------------------------------------------------+
| user | host | authentication_string |
+------------------+-----------+------------------------------------------------------------------------+
| Excalibur | % | $A$005$tE.D2|7^FTRYjmg1APzveuTWyJ1BaO2al1GKvO3UJO6ZlX06jqbNkT5 |
| yyy | % | 8cb2237d0679ca88db6464eac60da96345513964 |
| mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
...
1条答案
按热度按时间z9smfwbn1#
适用于MySQL 8.0
一般用户使用以下命令更改密码
root用户使用以下命令更改密码
P.S检查是否使用密码,线索“$A$005$”应使用caching_sha2_password身份验证插件,如果没有,“WITH caching_sha2_password”将不会对root用户起作用。如果一般用户需要,应授予权限。