使用Navicat连接mysql数据库报错:
2059-Authentication plugin 'caching_sha2_password' cannot be loaded
该错误的原因是在MySQL8之前版本中加密规则mysql_native_password
,而在MySQL8以后的加密规则为caching_sha2_password
。
解决此问题有两种方法:
一种是更新navicat
驱动来解决此问题;
一种是将mysql
用户登录的加密规则修改为mysql_native_password
。
此处采用第二种方式:
1.设置密码永不过期
alter user 'root'@'localhost' identified by 'password' password expire never;
这条命令在MySQL数据库中用于修改root用户的密码,并设置密码永不过期。
具体来说:
ALTER USER 'root'@'localhost'
:这是MySQL中用来修改指定用户属性的命令,这里指定的是localhost上的root用户。
IDENTIFIED BY 'password'
:这部分设置了用户的新密码,即password。
PASSWORD EXPIRE NEVER
:这是一个选项,用于设置密码永不过期。默认情况下,MySQL可能会要求用户定期更换密码,但使用PASSWORD EXPIRE NEVER选项可以禁用这一功能,使得密码永不过期。
2.设置加密规则为mysql_native_password
alter user 'root'@'localhost' identified with mysql_native_password by 'password';
这条命令是在MySQL数据库中用来修改用户密码的。具体来说,它的作用是修改localhost
上root
用户的密码,并将其密码设置为password
,同时指定使用mysql_native_password
作为密码认证插件。
具体来说:
ALTER USER
:这是MySQL中用来修改用户属性的命令。
'root'@'localhost'
:指定了要修改的用户,这里是localhost上的root用户。
IDENTIFIED WITH mysql_native_password
:这部分指定了用户认证使用的插件,mysql_native_password
是MySQL的一种密码认证插件,它是默认的认证方式,适用于大多数情况。
BY 'password'
:这里设置了用户的新密码,即password。