You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PDO SSL连接MariaDB 10.5报2054 client_ed25519认证错误如何解决

报错原因说明

该报错和SSL配置无关,核心原因是PHP使用的mysqlnd驱动不支持MariaDB 10.4+版本默认启用的ed25519身份验证插件,即使SSL连接正常建立,也无法通过身份校验。

解决方案

方案1:修改数据库用户的验证插件(快速生效)

使用MariaDB客户端登录数据库,执行以下命令替换用户的验证插件为mysql_native_password:

ALTER USER '你的数据库用户名'@'用户对应的主机地址' IDENTIFIED WITH mysql_native_password BY '该用户的登录密码';
FLUSH PRIVILEGES;

注:用户对应的主机地址需要和你实际使用的一致,比如本地连接填localhost,远程连接填%或者指定的IP地址。

修改完成后重新运行PHP代码即可正常连接。

方案2:升级PHP驱动支持ed25519(无需修改数据库配置)

  • 确认你的PHP版本≥7.4,更新服务器上的php-mysqlnd扩展到最新版本
  • 部分Linux发行版需要额外安装mysqlnd-plugin-ed25519扩展包
  • 安装完成后重启PHP-FPM或Apache服务生效

方案3:修正PDO SSL配置(可选,避免后续SSL连接异常)

你当前的SSL配置存在错误:PDO::MYSQL_ATTR_SSL_CA参数需要填写CA证书的实际文件路径,不能直接赋值为true。如果你只需要启用SSL连接、不需要校验服务端证书,正确配置如下:

$options = [
    // 填写系统默认CA证书目录,或MariaDB自签CA证书的实际路径
    PDO::MYSQL_ATTR_SSL_CAPATH => '/etc/ssl/certs',
    PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,
];

内容的提问来源于stack exchange,提问作者Min

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 17:36:09