MySQL 连接出现 Authentication plugin ‘caching_sha2_password‘ cannot be loaded
warning:
这篇文章距离上次修改已过190天,其中的内容可能已经有所变动。
解释:
这个错误表明客户端在尝试连接到MySQL服务器时,使用了不被服务器支持的认证插件(authentication plugin)。从MySQL 8.0开始,默认的认证插件变成了caching_sha2_password
,而不是之前的mysql_native_password
。如果客户端或连接库不支持新的认证插件,就会出现这个错误。
解决方法:
- 升级客户端:确保你的数据库客户端或连接库支持
caching_sha2_password
。 更改用户的认证插件:可以将使用
caching_sha2_password
的用户改为使用mysql_native_password
认证插件。使用以下SQL命令:
ALTER USER 'username'@'hostname' IDENTIFIED WITH 'mysql_native_password' BY 'password'; FLUSH PRIVILEGES;
其中,将
username
、hostname
和password
替换为相应的用户名、主机名和密码。修改服务器配置:如果你不想修改用户的认证插件,可以修改MySQL服务器配置,使其支持旧的
mysql_native_password
插件。编辑MySQL配置文件(通常是
my.cnf
或my.ini
),在[mysqld]
部分添加:default_authentication_plugin=mysql_native_password
然后重启MySQL服务器。
确保在进行任何修改时,你都有适当的权限,并且理解这些更改可能带来的安全风险。如果可能的话,最好是升级客户端或采用兼容caching_sha2_password
的解决方案。
评论已关闭