phpMyAdmin连接MySQL8.0报错为:#2054 无法登录 MySQL 服务器
一、报错场景:
#2054无法登陆Mysql服务器.png二、报错原因:
由于mysql8.0默认使用了新的密码验证插件
caching_sha2_password
,而之前的PHP版本中所带的mysqlnd不能支持新的验证方式。
三、解决方式:
序号 | 解决思路 | 具体操作 |
---|---|---|
1 | PHP | 升级PHP版本(具体我也不知道哪个版本) |
2 | mysql | 修改mysql的my.cnf(linux下) 或者my.ini(windows下) ,修改验证方式为mysql_native_password
|
下面,我们使用第二种方式来解决(以windows下为例):
1.修改my.ini文件
找到文件位置
my.ini文件位置.png- 添加下面两句
修改my.ini文件内容.png#更改为原来的验证方式 default_authentication_plugin= mysql_native_password
2.重启mysql服务
这里提供一种windows下我常用的方式,打开任务管理器,直接在服务里搜索mysql服务,右键停止后再启动。
重启mysql服务.png
3.重新尝试
- 用PHPMyAdmin登录管理mysql,如果还是不行,可能是因为密码已经是sha2方式保存的,所以php原来的> 验证方式还是不能通过,这里我们再修改一下密码。
在cmd登录mysql后,相关命令:cmd操作mysql.pngmysql -uroot -p use mysql; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Root@123'; FLUSH PRIVILEGES;
这里需要注意,我刚开始改密码,用的123456,结果一直报错(如下图)。后来才知道mysql8.0安全密码策略提高了,要大小写加数字特殊符号。
改密码报错.png
- 可以查看一下当前的密码验证方式
select User,plugin from user where User = 'root';
查看密码验证方式.png
网友评论