背景
MySQL报错:SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client[/app/thinkphp/library/think/db/Connection.php:295]
错误原因
错误原因是对 MySQL 进行的版本升级,MySQL8
中用户的认证类型(Authentication type
)默认为cacheing sha2 password
导致的错误,需要修改用户权限认证方式为mysql_native_password
。
解决办法
- 数据库降级,退回以前版本
- 改为
mysql_native_password
认证方式
数据库退回以前的版本,本文就不详细介绍了。下面讲一下将认证方式改回mysql_native_password
的方法。
修改mysql
配置文件my.cnf
vi /etc/my.cnf
在[mysqld]
节点下如下内容,如果以及存在default_authentication_plugin
节点,覆盖即可。
default_authentication_plugin=mysql_native_password
由于更改了认证方式,所以要更改链接MYSQL
用户的密码。以下以root
为例
mysql -u root -p
执行以下代码完成链接MYSQL
的用户密码的修改。
alter user '用户'@'%' identified with mysql_native_password by '密码';
flush privileges;
以root
用户为例
alter user 'root'@'%' identified with mysql_native_password by '123456';
flush privileges;
操作完毕后,重启MYSQL
服务。
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » MySQL:SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client错误的解决办法
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » MySQL:SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client错误的解决办法