1.授权认证异常Unable to load authentication plugin ‘caching_sha2_password’
MySQL 8.0开始,默认的认证插件变为了caching_sha2_password,以提高安全性。但较早版本的MySQL客户端和一些第三方数据库连接器可能不支持这个新的认证插件。
解决这个问题的方法可以有以下几种:
- 更新MySQL客户端或驱动程序:确保您的应用程序使用的MySQL客户端或数据库驱动程序版本能够支持caching_sha2_password插件。
jdbc:mysql://host:port/your database?authenticationPlugins=com.mysql.cj.mysqla.authentication.MysqlNativePasswordPlugin&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
- 更改MySQL服务器端用户密码加密方式:登录MySQL服务器,将对应用户的密码加密方式改为较老且广泛兼容的mysql_native_password:
#sql
ALTER USER 'your_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;
然后在客户端上使用新设置的密码重新建立连接。
- 配置MySQL服务器允许旧版客户端:如果出于某些原因不能升级客户端,可以在MySQL服务器端进行配置,使之接受旧的认证方式,但这会降低连接的安全性。