MySQL Error number: MY-011804; Symbol: ER_LDAP_AUTH_FAILED_TO_SEARCH_DN; SQLSTATE: HY000

文档解释

Error number: MY-011804; Symbol: ER_LDAP_AUTH_FAILED_TO_SEARCH_DN; SQLSTATE: HY000

Message: Failed to search user full dn: %s

错误说明

ER_LDAP_AUTH_FAILED_TO_SEARCH_DN(ER_LDAP_AUTH_FAILED_TO_SEARCH_DN)错误代码显示MySQL服务器在搜索LDAP/Active Directory DN时发生意外错误。 这可能是非常简单的,例如配置文件中错误的语法,或非常复杂的,例如配置文件中正确的语法,但它们由于某种原因而不能找到所需的DN(或某些其他奇怪的原因)。

常见案例

这个错误代码通常会出现在MySQL尝试使用LDAP/Active Directory进行身份验证的时候,如果认证操作无法正确完成,MySQL会返回以下类似信息:

ERROR: Authentication failed for user ‘XYZ’ (using password: YES)

Error er_ldap_auth_failed_to_search_dn: The authentication process did not complete. Failed to search for Distinguished Name (DN)

解决方法

这个错误有一些常见的原因,要修复它,可能需要进行一些排查和调整。

1.检查MySQL配置是否正确

确保MySQL配置文件中提供的LDAP/Active Directory服务器名称和端口号都是正确的。确保域名也是正确的,如果有必要,请使用FQDN替换域名。

2.检查DN

如果您正在使用LDAP/Active Directory用户的完整账户。请确保您的MySQL配置文件中的Base DN是正确的,以及用户的DN(Distinguished Name)是以正确的格式提供的。

3.检查账户

再次确认LDAP/Active Directory服务器上针对MySQL服务器上提供的用户名和密码是正确的。

4.检查权限

如果您正在使用LDAP/Active Directory用户,请确保拥有检索用户详细信息的权限(而不仅仅是登录权限)。 对于群组来说,请确保拥有检索群组中用户的权限。

5.检查连接

最后,还要确保MySQL服务器可以访问LDAP/Active Directory服务器。要做到这一点,您可以使用telnet或任何其他工具,只需输入服务器名称和端口号即可:

telnet your_ldap_server_name port_number

你可能感兴趣的