phpmyadmin连接MySQL8.0报错#2054 - The server requested authentication method unknown to the client

发生这种错误,是由于MySQL 8默认使用了新的密码验证插件:caching_sha2_password,而之前的PHP版本中所带的mysqlnd无法支持这种验证
有几种方法:1.升级PHP版本,PHP7.xx有支持MySQL8.0的插件认证
2.修改配置文件my.cnf 使数据库启用兼容的加密方式
我们这里讲第二种方法
安装MySQL8.0的过程这里就不赘述了,可以参考我的另一篇博客

2.1

whereis mysql
//查看mysql所存在的目录

在这里插入图片描述

cd /etc/mysql
//切换到/etc/mysql下
ls

在这里插入图片描述
我们对my.cnf进行修改

vim my.cnf
//如果权限不够的话可以切换到root用户进行操作

在最底下添加下面的代码

[mysqld]
default_authentication_plugin= mysql_native_password
//更改为原来的验证方式

然后保存退出,vim的命令可自行百度
重启mysql服务

sudo service mysql restart

除了上述这种方法,还可以用另一种

2.2

用命令行 mysql -u root -p 登录mysql
输入:

use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; 
FLUSH PRIVILEGES;

再用phpmyadmin登录管理mysql,报错消失了。
大功告成

猜你喜欢

转载自blog.csdn.net/weixin_40208575/article/details/84961976