关于 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 )