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