在phpMyAdmin中使用SHA256设置用户密码后,访问被拒绝
在看到phpMyAdmin生成的默认密码使用了mysql_native_password并因此在使用相同密码时哈希没有改变,我更新了一个用户的密码并将哈希设置为SHA256。
当我尝试使用设置的密码再次登录时,它说:
mysqli_real_connect():(HY000 / 1045):用户’xxxx’@’xxxx’的访问被拒绝(使用密码:是)。
服务器使用https,而phpMyAdmin强制也使用SSL。
使用SHA256更改密码后,再次获得访问权限的唯一方法是手动设置密码并将密码插件恢复为mysql_native_password。
如何使用SHA256密码与用户登录phpMyAdmin?
注意:如果我尝试使用相同的用户名和SHA256密码登录到mysql控制台,则可以正常工作。
回答:
MySQL最近更改了默认的身份验证类型,并且在MySQL和PHP之间,此更改花费了相当长的一段时间才能得到PHP的支持。旧方法是mysql_native_password
,新方法是caching_sha2_password
。从7.4开始的PHP版本支持新方法。由于这与PHP本身有关,因此支持此方法的phpMyAdmin要求您运行更新的PHP安装(phpMyAdmin本身已准备好进行此更改,但使用它的能力取决于您的PHP版本)。
您基本上有两个选择:
- 将您的PHP升级到7.4或更高版本。
- 将用户的身份验证类型更改为较旧的
mysql_native_password
。您可以通过编辑用户来做到这一点(从phpMyAdmin的“用户帐户”标签中,编辑用户,然后从下拉列表中更改身份验证方法)。
以上是 在phpMyAdmin中使用SHA256设置用户密码后,访问被拒绝 的全部内容, 来源链接: utcz.com/qa/407038.html