Navicat连接Mysql8.0版本报错2059的解决方案

报错原因:Mysql从8.0版本开始,使用的加密规则是 caching_sha2_password,之前的加密规则为mysql_native_password,而Navicat找不到最新的身份验证插件,所以才会出现以上报错

Navicat连接Mysql8.0版本报错2059的解决方案

解决办法:修改加密规则为之前的mysql_native_password

  • 按照上面的步骤进入Mysql容器,进入之后输入命令(进行远程连接授权)
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
  • 刷新权限
    FLUSH PRIVILEGES;
  • 更改加密规则
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
  • 重置root用户密码,更改密码为password
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
  • 刷新权限
    FLUSH PRIVILEGES;
    Navicat连接Mysql8.0版本报错2059的解决方案
    重新使用Navicat连接,连接成功!!!

报错原因:Mysql从8.0版本开始,使用的加密规则是 caching_sha2_password,之前的加密规则为mysql_native_password,而Navicat找不到最新的身份验证插件,所以才会出现以上报错

Navicat连接Mysql8.0版本报错2059的解决方案

解决办法:修改加密规则为之前的mysql_native_password

  • 按照上面的步骤进入Mysql容器,进入之后输入命令(进行远程连接授权)
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
  • 刷新权限
    FLUSH PRIVILEGES;
  • 更改加密规则
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
  • 重置root用户密码,更改密码为password
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
  • 刷新权限
    FLUSH PRIVILEGES;
    Navicat连接Mysql8.0版本报错2059的解决方案
    重新使用Navicat连接,连接成功!!!