只需要进入容器
进入mysql命令行模式
ALTER USER 'root'@'%' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
FLUSH PRIVILEGES;
处理完成后再连接,成功!
通过相关问题查阅,原因可能是,由于navicat版本的问题造成连接失败。mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。所以升级navicat应该也可以解决。但没有试。
MySQL权限调整与Navicat连接问题:从命令行到加密规则升级
文章讲述了如何在MySQL命令行模式下修改root用户的密码并设置永不过期,同时指出Navicat连接失败可能是因为其版本与MySQL8的新加密规则不兼容,建议升级Navicat以解决问题。
5623





