Mysql8.4解决连接报错问题---2059 -Authentication plugin ‘caching sha2 password‘ cannot be loaded

【问题截图】
在这里插入图片描述

原因:

Mysql 8.4默认情况下不再启用 “MySQL Native Password” 插件,导致连接失败。

解决方案

1、更改用户身份认证方式

  • 登录mysql
mysql> use mysql;
Database changed
  • 查看用户身份认证方式
mysql> select user,host,plugin from mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| root             | %         | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
4 rows in set (0.00 sec)
  • 更改用户身份验证方式为:mysql_native_password
mysql> ALTER USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY '用户密码';
Query OK, 0 rows affected (0.03 sec)
  • 刷新权限:在更改用户身份验证方式后,务必刷新 MySQL 的权限信息以使更改生效。
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

在更新用户身份认证时可能会报错:Plugin ‘mysql_native_password‘ is not loaded
解决方法:
修改配置文件(windows)C:\ProgramData\MySQL\MySQL Server 8.4/my.ini
重启Mysql服务,再次执行更改用户身份验证代码

# Enable mysql_native_password plugin
[mysqld]
# 添加下面这行代码
mysql_native_password=ON

2、使用更高版本的连接工具

### 解决方案 当遇到 `2059 - Authentication plugin 'caching_sha2_password' cannot be loaded` 错误时,通常是因为客户端版本较旧或者未实现对 `caching_sha2_password` 验证插件的支持。以下是详细的解决方法: #### 修改用户的认证方式 可以通过更改 MySQL 用户的认证插件为更广泛的兼容模式 `mysql_native_password` 来解决问题。 1. 登录到 MySQL 数据库服务器并执行以下 SQL 命令: ```sql ALTER USER 'your_username'@'your_host' IDENTIFIED WITH mysql_native_password BY 'your_password'; FLUSH PRIVILEGES; ``` 上述命令的作用是将指定用户的身份验证插件从 `caching_sha2_password` 更改为 `mysql_native_password` 并重新设置密码[^2]。 2. 如果需要批量处理多个用户,则可以运行如下脚本: ```sql SELECT CONCAT('ALTER USER ''', user, '''@''', host, ''' IDENTIFIED WITH mysql_native_password BY ''newpassword'';') AS alter_user_sql FROM mysql.user WHERE plugin='caching_sha2_password'; ``` 将查询结果复制粘贴至终端逐一执行即可完成转换操作[^3]。 #### 升级 Navicat 或其他客户端工具 如果不想改变现有的安全配置(即继续使用 `caching_sha2_password`),则应考虑升级您的 Navicat 版本或其他相关联的应用程序以支持最新的协议标准[^4]。 另外需要注意的是,在某些情况下也可能由于操作系统环境变量缺失而导致动态链接库未能成功加载的情况发生,因此还需确认系统路径下是否存在对应的 `.so` 文件以及权限是否正常授予给服务进程访问这些文件的能力。 ```bash ls /usr/lib/mysql/plugin/caching_sha2_password.so ``` 以上步骤能够有效帮助您排除因身份验证机制差异而引发的各种连接障碍现象。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值