场景描述
用户通过navicat修改MySQL的user表root帐号的“authentication_string”字段,修改为为显示密码后无法登录客户端。
原因分析
修改密码方式错误,不应直接改user表的authentication_string字段的hash key,需要通过控制台重置root密码方式修改。
解决方案
由于8.0版本不支持password函数,因此需要通过以下步骤恢复:
找出帐号的authentication_string字段,使用以下命令更新update mysql.user set authentication_string='XXX' 其中XXX为新修改的密码。重置root帐号密码。
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'XXX'; flush privileges;
修改后用户就可以正常登录root帐号。