我正在尝试在 MySQL 商业服务器 (5.7.21) 上设置 OpenLDAP 身份验证
我已按照 MySQL 网站上描述的所有步骤进行操作https://dev.mysql.com/doc/refman/5.7/en/ldap-pluggable-authentication.html#ldap-pluggable-authentication-installation
但是当我尝试使用 LDAP 帐户登录时,出现以下错误mysql-error.log
[ERROR] Plugin authentication_ldap_sasl reported: 'Plug-in has failed to read the packet from client'
[ERROR] Plugin authentication_ldap_sasl reported: 'LDAP authentication failed or group retrieval failed: LDAP error: Operations error'
我错过了什么???
OpenLDAP 和 MySQL 服务器位于不同的虚拟机中,但在同一个 LAN 中,两个虚拟机都可以在它们之间通信,但我没有到达 LDAP 的数据包(已验证tcpdump
)
先感谢您
答案1
我最近也遇到了同样的问题,经过搜索我发现:
知道该插件使用 cyrus 库作为 sasl 机制,并且唯一支持的是 scram-sha-1,你必须检查 cyrus-sasl-scram插件已安装
第一的
我通过安装此包成功连接到服务器:
$sudo yum install cyrus-sasl-scram
第二
在 ldap 客户端中使用此命令检查 ldap 服务器中 scarm-sha-1 是否已激活:
$ldapsearch -LLL -x -b "" -s base objectclass=* supportedSASLMechanisms
祝你好运