Navicat Premium 12 链接MySQL8.0.11数据库报2059错误

1,问题现象

      安装完MySQL8.0.11和Navicat Premium是12后,我们会Navicat Premium是12去测试连接MySQL的,测试时出现以下报错提示:              Navicat Premium 12 链接MySQL8.0.11数据库报2059错误

2,问题原因

     mysql8.0之前的版本加密规则是mysql_native_password,mysql8.0之后,加密规则是caching_sha2_password。

     Navicat Premium 12 链接MySQL8.0.11数据库报2059错误

3,解决方案

      在这里要特别说明一点,如果安装完MySQL8.0.11以后,没有设置环境变量,不能在DOS命令窗口直接使用MySQL的命令。

      3.1,电脑WIN + R打开运行窗口,键入cmd打开DOS命名窗口,键入cd C:\Program Files\MySQL\MySQL Server 8.0\bin

               Navicat Premium 12 链接MySQL8.0.11数据库报2059错误

      3.2,进入安装目录的bin目录后,键入mysql -u root -p命令,按照提示输入密码,登陆MySQL库。注:root是安装MySQL时的默认用户名,如果自己修改的话,用自己新建的名字以及密码。

               Navicat Premium 12 链接MySQL8.0.11数据库报2059错误

      3.3,登陆后可查询默认加密规则,键入

              use mysql;

               select user,plugin from user where user ='root';

               分别执行后如下

               Navicat Premium 12 链接MySQL8.0.11数据库报2059错误

      3.4,更改加密方式:ALTER USER'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

              更新用户密码:ALTER USER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 

               分别执行后如下,重新执行3.3查询结果如下,加密方式已经该改变。

               Navicat Premium 12 链接MySQL8.0.11数据库报2059错误

      3.5,刷新权限:FLUSH PRIVILEGES;

               Navicat Premium 12 链接MySQL8.0.11数据库报2059错误

      3.6,重新打开Navicat Premium 12,可连接成功。

               Navicat Premium 12 链接MySQL8.0.11数据库报2059错误