navacat 12连接到mysql8.0时遇到了问题,报caching_sha2_password;
或者用mysql命令行连接到远程的mysql8.0也是报错;
查了一下原因:
mysql8.0对用户的认证做了修改,新增了一个‘caching_sha2_password’作为默认的加密规则,
查了官方的文档介绍给出了一些解决的方案;
总结:
方案一:将自己本地的mysql也一并升级为8.0的,然后再用命令行的方式去链接应该也是可以的,这样mysql客户端和远程mysql服务端都是8.0的了,所以加密规则应该都是一致的了;
方案二:将远程的mysql服务端8.0的加密规则修改一下,修改为mysql_native_password,具体可以百度;
方案三:如果是只用navacat的话,不用命令行工具的话,直接将navicat升级到15,因为navicat15是支持caching_sha2_password方式的;
提示:如果是用java代码连接到mysql8.0的话,注意要修改一下mysql的驱动,对应改到8版本的,不然也是连接不上的;