
当 mysql 服务器配置为使用 ed25519 认证插件对用户进行身份验证时,phpmyadmin 可能会因为其底层 php mysqli 驱动不支持该认证方法而导致连接失败。用户会遇到类似以下错误信息:mysqli::real_connect(): the server requested authentication method unknown to the client [client_ed25519] 或 (hy000/2054): the server requested authentication method unknown to the client。这表明 phpmyadmin 无法识别或处理服务器请求的 ed25519 认证机制。
为了解决此兼容性问题,最直接的方法是配置 MySQL 服务器,使其默认使用 PHPMyAdmin 及其底层驱动所支持的 mysql_native_password 认证方法,并针对特定用户更新其认证方式。这涉及到对 MySQL 配置文件和用户权限的修改。
首先,需要修改 MySQL 服务器的配置文件 (my.cnf 或 mysql.cnf),以确保服务器在必要时能够提供 mysql_native_password 认证选项。
编辑 MySQL 配置文件: 使用文本编辑器打开 MySQL 的主配置文件,通常位于 /etc/mysql/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf。
sudo nano /etc/mysql/my.cnf
添加或修改配置项: 在 [client]、[mysql] 和 [mysqld] 部分添加或修改以下配置行。特别重要的是在 [mysqld] 部分设置 default-authentication-plugin=mysql_native_password。
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8 default-authentication-plugin=mysql_native_password
重启 MySQL 服务: 保存配置文件后,必须重启 MySQL 服务以使更改生效。
sudo systemctl restart mysql
即使服务器配置了默认认证插件,现有用户可能仍在使用 ed25519。因此,需要显式地将 PHPMyAdmin 将要连接的特定数据库用户的认证方法更改为 mysql_native_password。
登录 MySQL: 使用具有足够权限的用户(例如 root 用户)登录到 MySQL 命令行客户端。
mysql -u root -p
修改用户认证插件: 执行以下 SQL 命令,将目标用户的认证插件更改为 mysql_native_password,并设置其密码。
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password'; FLUSH PRIVILEGES;
通过以上两步操作——修改 MySQL 服务器配置文件以设置默认认证插件,并更新特定数据库用户的认证方法——可以有效解决 PHPMyAdmin 因不支持 ed25519 认证插件而导致的连接失败问题。此方法确保了 PHPMyAdmin 能够使用兼容的 mysql_native_password 认证方式与 MySQL 数据库进行通信。
立即学习“PHP免费学习笔记(深入)”;
以上就是解决 PHPMyAdmin 连接 MySQL ed25519 认证失败问题的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号