Navicat连接Mysql出现authentication plugin ‘caching_sha2_password‘ cannot be loaded

应用软件版本

  • Mysql:8.0.21
  • Navicat Premium:12

问题场景

  • 使用docker在虚拟机运行了一个mysql容器,进入容器内部登录mysql 正常,端口已映射到虚拟机上,访问正常;使用Navicat工具连接,确认用户名、密码、ip地址无误的情况下报错:Navicat连接Mysql出现authentication plugin ‘caching_sha2_password‘ cannot be loaded_第1张图片

问题原因

  • mysql 8版本之后 加密规则有所变化,由之前版本的“mysql_native_password”变为“caching_sha2_password”

处理方法

  • 修改mysql 用户密码加密规则,重置用户密码
    – 1、查询所需要修改的用户名
    Navicat连接Mysql出现authentication plugin ‘caching_sha2_password‘ cannot be loaded_第2张图片
    – 2、修改用户密码加密规则
    ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
    
    – 3、更新用户密码
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
    
    – 4、刷新权限
    FLUSH PRIVILEGES;
    
    – 5、重置密码
    ALTER USER 'root'@'%' IDENTIFIED BY '123456'
    
  • 图示:
    Navicat连接Mysql出现authentication plugin ‘caching_sha2_password‘ cannot be loaded_第3张图片
  • 再次使用Navicat 连接该数据库,连接成功
    Navicat连接Mysql出现authentication plugin ‘caching_sha2_password‘ cannot be loaded_第4张图片

你可能感兴趣的:(数据库,mysql)