解决连接mysql问题:plugin caching_sha2_password could not be loaded

 

 

打开cmd:mysql -uroot -p 

进入mysql依次执行下面语句

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; #修改加密规则 

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #修改密码加密策略 

flush privileges; #刷新权限

重置密码:alter user 'root'@'localhost' identified by '123456';

### 解决 MySQL 登录时因 `caching_sha2_password` 插件未加载导致的 ERROR 1045 问题 当遇到 `ERROR 1045 (Access denied for user ...)` 的错误提示,并且问题是由于 `caching_sha2_password` 插件无法加载引起的,可以采取以下方法来解决问题。 #### 方法一:修改默认认证插件 可以通过更改 MySQL 配置文件中的默认认证插件设置为 `mysql_native_password` 来规避此问题。具体操作如下: 编辑 MySQL 配置文件(通常是 `/etc/my.cnf` 或 `/etc/mysql/my.cnf`),并添加或修改以下配置项: ```ini [mysqld] default_authentication_plugin=mysql_native_password ``` 保存文件后重启 MySQL 服务以使更改生效[^1]。 #### 方法二:更新用户密码哈希算法 如果不想更改全局配置,默认情况下也可以通过重新设置用户的密码方式切换到 `mysql_native_password` 认证插件。执行以下 SQL 命令完成该过程: ```sql ALTER USER 'your_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password'; FLUSH PRIVILEGES; ``` 其中 `'your_username'` 和 `'your_new_password'` 应替换为你实际使用的用户名和新密码。 #### 方法三:检查数据库兼容性升级情况 有时,此类问题可能源于版本间的不一致或者数据表结构的变化。为了验证是否存在这种可能性,建议运行以下命令进行全面检测: ```bash mysqlcheck -u root -p --all-databases --check-upgrade ``` 这一步可以帮助识别潜在的数据损坏或者其他可能导致连接失败的因素[^2]。 #### 方法四:确认启动选项支持 从 MySQL 8.0 开始,在某些场景下服务器内部实现了原来由 `mysqld_safe` 脚本处理的部分逻辑,比如使用 `--daemonize` 启动选项的情况。因此,确保当前环境下的初始化脚本以及相关依赖均正常工作也很重要[^3]。 以上措施能够有效应对大多数因为 `caching_sha2_password` 导致的访问拒绝错误案例。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值