1、问题描述:
在navicat for mysql 连接mysql 8.0.23时,出现如下错误。
2、原因:
通过百度翻译,发现是由于navicat版本的问题,出现连接失败的原因。这也就是说需要升级navicat版本。通过搜索,发现navicat是收费的,升级将会面临其他不可控的问题。
于是需要寻找其他方法。通过查阅资料以及他人的经历分享。我得知了:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
也就是说,如果navicat不能升级,那么把“mysql”“降级”试试?因此,从新知入手,将mysql8的加密规则修改为mysql8之前的规则。
3、解决:
(1)输入命令查看用户信息:
select host,user,plugin,authentication_string from mysql.user;
由上图可以发现:root用户对应的plugin是:caching_sha2_password。
(2)输入命令修改root的加密规则:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_passwo