这个问题我之前遇到过,当时的数据库是本地数据库,当时“更改了加密规则”和“更新了root密码”后解决了。当时当把数据库迁移到docker容器后,上面的方法就无法解决这个问题了。
查找资料后发现我们只需要追加“授权连接”就可以解决这个问题了。
第一步:授权连接
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
(更新)
第二步:更改加密规则
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
第三步:更新root用户密码(此时数据库密码为password)
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
mysql> FLUSH PRIVILEGES;
问题解决:
如果你是要的是mysql5.7的数据库版本,那么上述的问题不会存在