关于 Navicat 连接 MySQL 出错问题

问题

Navicat 远程连接 MySQL 失败

原因

MySQL8.0 跟之前版本使用的加密规则不一样,而所使用的 Navicat 的版本只支持旧版本 MySQL 的加密规则,所以解决办法由两种:
升级 Navicat 版本
修改当前 MySQL 的加密规则
因为使用的 Navicat 是破解好的,所以就不升级版本了,我选择第二种解决办法

解决

  • 以管理员身份打开 cmd 窗口,切换至 mysql 的 bin 目录下,mysql -u root -p输入密码登录 mysql

  • 输入ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
    ( attention! 登录 mysql 输入的命令后面记得有分号!)
    然后输入flush privileges;刷新权限

  • 输入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '***';
    (这里的 *** 是你自己指定的,比如说我设置成 123456 )
    然后输入flush privileges;刷新权限

  • 返回 Navicat 重新连接,可以发现连接成功

  • 特别注意的是,修改了加密规则以后, mysql 进行其它一些操作的时候可能会引起一些麻烦,所以如果想改回密码,可以输入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '***';
    ( *** 指的是你修改加密规则时设置的密码,比如我的话,就是 123456 )

posted @ 2020-12-07 09:35  CodingFly  阅读(81)  评论(0编辑  收藏  举报