Error number: MY-013340; Symbol: ER_LDAP_MAPPING_GET_USER_PROXY; SQLSTATE: HY000
Message: Get user proxy
错误说明
ER_LDAP_MAPPING_GET_USER_PROXY 这是MySQL服务器(版本5.7及以上)的一个内部错误代码,表明MySQL无法从PAM会话或出现的LDAP身份映射中取得它需要的用户代理。
常见案例
这个错误通常会在将身份验证类型从LOCAL更改为PAM或LDAP时发生,而这只会发生在MySQL版本5.7及以上。
解决方法
以下步骤可以解决这个问题:
1.在MySQL控制台上检查身份验证模式是否正确设置:
例如:
mysql> SHOW GLOBAL VARIABLES LIKE 'default_authentication_plugin’;
+———————————————-+—————–+
| Variable_name | Value |
+———————————————-+—————–+
| default_authentication_plugin | pam |
+———————————————-+—————–+
2.使用MySQL控制台检查适当的插件是否已加载:
例如:
mysql> SHOW PLUGINS;
+———+——–+—————-+———+———+
| Name | Status | Type | Library | License |
+———+——–+—————-+———+———+
| pam | ACTIVE | AUTHENTICATION | PAM.so | GPL |
+———+——–+—————-+———+———+
3.如果身份验证插件没有正确加载,请在配置文件中正确的加载它们:
例如:
[mysqld]
…
authentication_ldap_sasl_auth_method=plain
authentication_ldap_sasl_authorization_id=openldap
authentication_ldap_sasl_realm=
authentication_ldap_sasl_security_options=
authentication_ldap_sasl_keytab=/etc/my_ldap.keytab
authentication_ldap_sasl_uri=”ldap://ldap.example.com:389/”
4.重新启动MySQL服务器,以便能够重新加载配置:
例如:
$ sudo systemctl restart mysql.service
5.再次尝试登录MySQL服务器,看看这个错误是否已被解决。