使用ed25519身份验证插件的数据库能否正常使用PHPMyAdmin?
场景结论
你当前场景下默认配置的PHPMyAdmin无法正常连接使用该ed25519认证的数据库节点,出现报错的核心原因是PHP底层的mysqli扩展没有内置ed25519客户端认证支持,无法响应数据库的身份验证请求,触发的报错如下:
mysqli::real_connect(): The server requested authentication method unknown to the client [client_ed25519]
mysqli::real_connect(): (HY000/2054): The server requested authentication method unknown to the client
可行解决方法
- 方案一:修改数据库对应用户的认证插件(操作最简单,兼容性最好)
直接登录目标数据库节点,执行以下SQL语句调整用户认证方式为PHP mysqli原生支持的类型:
调整完成后刷新PHPMyAdmin页面即可正常登录。ALTER USER '你的数据库用户名'@'PHPMyAdmin服务所在的访问IP' IDENTIFIED WITH mysql_native_password BY '该用户的原密码'; FLUSH PRIVILEGES; - 方案二:保留ed25519认证的改造方案
如果你有强制要求不能修改用户认证插件,需要自行给PHP的mysqli扩展打ed25519客户端支持补丁,重新编译PHP运行环境后再部署PHPMyAdmin,该方案操作复杂度高,需要熟悉PHP编译流程,不建议无相关经验的人员操作。
内容的提问来源于stack exchange,提问作者guillaumearnx
相关产品推荐
相关产品推荐

