#### 6.4.1.13 可插拔身份验证系统变量

除非安装了适当的服务器端插件，否则这些变量不可用：

-   `authentication_ldap_sasl`对于具有表单名称的系统变量`authentication_ldap_sasl_*`xxx`*`

-   `authentication_ldap_simple`对于具有表单名称的系统变量`authentication_ldap_simple_*`xxx`*`

[](<>)

**表 6.28 身份验证插件系统变量汇总**

| 姓名 | 命令行 | 选项文件 | 系统变量 | 状态变量 | 变量范围 | 动态的 |
| --- | --- | ---- | ---- | ---- | ---- | --- |
| [验证\_菲多\_rp_id](pluggable-authentication-system-variables.html#sysvar_authentication_fido_rp_id) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_kerberos\_服务\_钥匙\_标签](pluggable-authentication-system-variables.html#sysvar_authentication_kerberos_service_key_tab) | 是的 | 是的 | 是的 |  | 全球的 | 不 |
| [验证\_kerberos\_服务\_主要的](pluggable-authentication-system-variables.html#sysvar_authentication_kerberos_service_principal) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl\_授权\_方法\_姓名](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_auth_method_name) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl\_绑定\_根据\_dn](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_bind_base_dn) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl\_绑定\_根\_dn](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_bind_root_dn) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl\_绑定\_根\_密码](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_bind_root_pwd) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl\_约\_小路](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_ca_path) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl\_团体\_搜索\_属性](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_group_search_attr) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl\_团体\_搜索\_筛选](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_group_search_filter) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl\_在里面\_水池\_尺寸](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_init_pool_size) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl\_日志\_状态](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_log_status) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl\_最大限度\_水池\_尺寸](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_max_pool_size) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl\_转介](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_referral) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl\_服务器\_主持人](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_server_host) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl\_服务器\_港口](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_server_port) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl_tls](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_tls) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap_sasl\_用户\_搜索\_属性](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_user_search_attr) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_授权\_方法\_姓名](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_auth_method_name) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_绑定\_根据\_dn](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_bind_base_dn) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_绑定\_根\_dn](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_bind_root_dn) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_绑定\_根\_密码](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_bind_root_pwd) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_约\_小路](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_ca_path) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_团体\_搜索\_属性](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_group_search_attr) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_团体\_搜索\_筛选](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_group_search_filter) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_在里面\_水池\_尺寸](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_init_pool_size) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_日志\_状态](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_log_status) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_最大限度\_水池\_尺寸](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_max_pool_size) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_转介](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_referral) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_服务器\_主持人](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_server_host) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_服务器\_港口](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_server_port) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_tls](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_tls) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_ldap\_简单的\_用户\_搜索\_属性](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_user_search_attr) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_政策](server-system-variables.html#sysvar_authentication_policy) | 是的 | 是的 | 是的 |  | 全球的 | 是的 |
| [验证\_视窗\_日志\_等级](server-system-variables.html#sysvar_authentication_windows_log_level) | 是的 | 是的 | 是的 |  | 全球的 | 不 |
| [验证\_视窗\_采用\_主要的\_姓名](server-system-variables.html#sysvar_authentication_windows_use_principal_name) | 是的 | 是的 | 是的 |  | 全球的 | 不 |

-   [](<>) [`authentication_fido_rp_id`](pluggable-authentication-system-variables.html#sysvar_authentication_fido_rp_id)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-fido-rp-id=值` |
    | ----- | ------------------------------- |
    | 介绍 | 8.0.27 |
    | 系统变量 | `[authentication_fido_rp_id](pluggable-authentication-system-variables.html#sysvar_authentication_fido_rp_id)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `MySQL` |

    此变量指定用于 FIDO 设备注册和 FIOD 身份验证的依赖方 ID。如果尝试了 FIDO 身份验证并且该值不是 FIDO 设备所期望的值，则设备假定它没有与正确的服务器通信并发生错误。最大值长度为 255 个字符。

-   [](<>) [`authentication_kerberos_service_key_tab`](pluggable-authentication-system-variables.html#sysvar_authentication_kerberos_service_key_tab)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-kerberos-service-key-tab=file_name` |
    | ----- | ----------------------------------------------------- |
    | 介绍 | 8.0.26 |
    | 系统变量 | `[authentication_kerberos_service_key_tab](pluggable-authentication-system-variables.html#sysvar_authentication_kerberos_service_key_tab)` |
    | 范围 | 全球的 |
    | 动态的 | 不 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 文件名 |
    | 默认值 | `数据目录/mysql.keytab` |

    [](<>)

    包含 Kerberos 服务密钥的服务器端密钥表（“keytab”）文件的名称，用于验证从客户端收到的 MySQL 服务票证。文件名应以绝对路径名的形式给出。如果未设置此变量，则默认为`mysql.keytab`在数据目录中。

    该文件必须存在并包含服务主体名称 (SPN) 的有效密钥，否则客户端身份验证将失败。（SPN 和相同的密钥也必须在 Kerberos 服务器中创建。）该文件可能包含多个服务主体名称及其各自的密钥组合。

    该文件必须由 Kerberos 服务器管理员生成并复制到 MySQL 服务器可访问的位置。可以验证文件以确保它是正确的，并且使用以下命令正确复制：

    ```
    klist -k file_name
    ```

    有关 keytab 文件的信息，请参阅<https://web.mit.edu/kerberos/krb5-latest/doc/basic/keytab_def.html>.

-   [](<>) [`authentication_kerberos_service_principal`](pluggable-authentication-system-variables.html#sysvar_authentication_kerberos_service_principal)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-kerberos-service-principal=name` |
    | ----- | -------------------------------------------------- |
    | 介绍 | 8.0.26 |
    | 系统变量 | `[authentication_kerberos_service_principal](pluggable-authentication-system-variables.html#sysvar_authentication_kerberos_service_principal)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `mysql/host_name@realm_name` |

    MySQL 服务器发送给客户端的 Kerberos 服务主体名称 (SPN)。

    该值由服务名称（`mysql`)、主机名和领域名。默认值为`mysql/*`主机名`*@*`领域名`*`.服务主体名称中的领域可以检索准确的服务密钥。

    要使用非默认值，请使用相同格式设置该值。例如，使用主机名`krbauth.example.com`和一个领域`MYSQL.LOCAL`， 放[`authentication_kerberos_service_principal`](pluggable-authentication-system-variables.html#sysvar_authentication_kerberos_service_principal)到`mysql/krbauth.example.com@MYSQL.LOCAL`.

    服务主体名称和服务密钥必须已经存在于 KDC 服务器管理的数据库中。

    可以存在仅因领域名称不同的服务主体名称。

-   [](<>) [`authentication_ldap_sasl_auth_method_name`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_auth_method_name)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-auth-method-name=值` |
    | ----- | ----------------------------------------------- |
    | 系统变量 | `[authentication_ldap_sasl_auth_method_name](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_auth_method_name)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `SCRAM-SHA-1` |
    | 有效值 (≥ 8.0.23) | `SCRAM-SHA-1`<br/><br/>`SCRAM-SHA-256`<br/><br/>`GSSAPI` |
    | 有效值（≥ 8.0.20，≤ 8.0.22） | `SCRAM-SHA-1`<br/><br/>`GSSAPI` |
    | 有效值 (≤ 8.0.19) | `SCRAM-SHA-1` |

    对于 SASL LDAP 身份验证，身份验证方法名称。认证插件和LDAP服务器之间的通信是按照这种认证方式进行的，以保证密码安全。

    允许使用以下身份验证方法值：

    -   `SCRAM-SHA-1`：使用 SASL 质询-响应机制。

        客户端`authentication_ldap_sasl_client`插件与 SASL 服务器通信，使用密码创建质询并获取 SASL 请求缓冲区，然后将此缓冲区传递给服务器端`authentication_ldap_sasl`插入。客户端和服务器端 SASL LDAP 插件使用 SASL 消息在 LDAP 协议中安全传输凭据，以避免在 MySQL 客户端和服务器之间发送明文密码。

    -   `SCRAM-SHA-256`：使用 SASL 质询-响应机制。

        这种方法类似于`SCRAM-SHA-1`，但更安全。它在 MySQL 8.0.23 及更高版本中可用。它需要使用 Cyrus SASL 2.1.27 或更高版本构建的 OpenLDAP 服务器。

    -   `GSSAPI`：使用 Kerberos，一种无密码且基于票据的协议。

        仅在 Linux 上支持 GSSAPI/Kerberos 作为 MySQL 客户端和服务器的身份验证方法。它在应用程序使用 Microsoft Active Directory 访问 LDAP 的 Linux 环境中很有用，默认情况下启用了 Kerberos。

        客户端`authentication_ldap_sasl_client`插件使用来自 Kerberos 的票证授予票证 (TGT) 获取服务票证，但不直接使用 LDAP 服务。服务器端`authentication_ldap_sasl`插件在客户端插件和 LDAP 服务器之间路由 Kerberos 消息。使用如此获得的凭据，服务器端插件然后与 LDAP 服务器通信以解释 LDAP 身份验证消息并检索 LDAP 组。

-   [](<>) [`authentication_ldap_sasl_bind_base_dn`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_bind_base_dn)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-bind-base-dn=值` |
    | ----- | ------------------------------------------- |
    | 系统变量 | `[authentication_ldap_sasl_bind_base_dn](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_bind_base_dn)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `空值` |

    对于 SASL LDAP 身份验证，基本专有名称 (DN)。此变量可用于通过将搜索锚定在搜索树中的某个位置（“基础”）来限制搜索范围。

    假设一组 LDAP 用户条目的每个成员都具有以下形式：

    ```
    uid=user_name,ou=People,dc=example,dc=com
    ```

    并且另一组 LDAP 用户条目的成员每个都具有以下形式：

    ```
    uid=user_name,ou=Admin,dc=example,dc=com
    ```

    然后针对不同的基本 DN 值进行搜索：

    -   如果基础 DN 是`ou=人,dc=example,dc=com`：搜索仅在第一组中查找用户条目。

    -   如果基础 DN 是`ou=Admin,dc=example,dc=com`：搜索仅在第二组中查找用户条目。

    -   如果基础 DN 是`ou=dc=示例，dc=com`：搜索在第一组或第二组中查找用户条目。

        通常，更具体的基本 DN 值会导致更快的搜索，因为它们会更多地限制搜索范围。

-   [](<>) [`authentication_ldap_sasl_bind_root_dn`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_bind_root_dn)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-bind-root-dn=值` |
    | ----- | ------------------------------------------- |
    | 系统变量 | `[authentication_ldap_sasl_bind_root_dn](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_bind_root_dn)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `空值` |

    对于 SASL LDAP 身份验证，根专有名称 (DN)。该变量与[`authentication_ldap_sasl_bind_root_pwd`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_bind_root_pwd)作为对 LDAP 服务器进行身份验证以执行搜索的凭据。身份验证使用一个或两个 LDAP 绑定操作，具体取决于 MySQL 帐户是否命名 LDAP 用户 DN：

    -   如果帐户未命名用户 DN：`authentication_ldap_sasl`使用执行初始 LDAP 绑定[`authentication_ldap_sasl_bind_root_dn`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_bind_root_dn)和[`authentication_ldap_sasl_bind_root_pwd`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_bind_root_pwd).（默认情况下它们都是空的，因此如果未设置它们，LDAP 服务器必须允许匿名连接。）生成的绑定 LDAP 句柄用于根据客户端用户名搜索用户 DN。`authentication_ldap_sasl`使用用户 DN 和客户端提供的密码执行第二次绑定。

    -   如果帐户确实命名了用户 DN：在这种情况下，不需要第一次绑定操作。`authentication_ldap_sasl`使用用户 DN 和客户端提供的密码执行单个绑定。这比 MySQL 帐户未指定 LDAP 用户 DN 更快。

-   [](<>) [`authentication_ldap_sasl_bind_root_pwd`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_bind_root_pwd)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-bind-root-pwd=值` |
    | ----- | -------------------------------------------- |
    | 系统变量 | `[authentication_ldap_sasl_bind_root_pwd](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_bind_root_pwd)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `空值` |

    对于 SASL LDAP 身份验证，root 专有名称的密码。该变量与[`authentication_ldap_sasl_bind_root_dn`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_bind_root_dn).请参阅该变量的描述。

-   [](<>) [`authentication_ldap_sasl_ca_path`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_ca_path)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-ca-path=值` |
    | ----- | -------------------------------------- |
    | 系统变量 | `[authentication_ldap_sasl_ca_path](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_ca_path)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `空值` |

    对于 SASL LDAP 身份验证，证书颁发机构文件的绝对路径。如果希望验证插件执行 LDAP 服务器证书的验证，请指定此文件。

    笔记

    除了设置[`authentication_ldap_sasl_ca_path`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_ca_path)变量到文件名，您必须将适当的证书颁发机构证书添加到文件并启用[`authentication_ldap_sasl_tls`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_tls)系统变量。这些变量可以设置为覆盖默认的 OpenLDAP TLS 配置；看[LDAP 可插入身份验证和 ldap.conf](ldap-pluggable-authentication.html#ldap-pluggable-authentication-ldap-conf)

-   [](<>) [`authentication_ldap_sasl_group_search_attr`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_group_search_attr)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-group-search-attr=值` |
    | ----- | ------------------------------------------------ |
    | 系统变量 | `[authentication_ldap_sasl_group_search_attr](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_group_search_attr)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `cn` |

    对于 SASL LDAP 身份验证，在 LDAP 目录条目中指定组名的属性名称。如果[`authentication_ldap_sasl_group_search_attr`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_group_search_attr)其默认值为`cn`, 搜索返回`cn`值作为组名。例如，如果 LDAP 条目带有`uid`的价值`用户1`有个`cn`的属性`我的组`, 搜索`用户1`返回`我的组`作为组名。

    如果您不需要组或代理身份验证，此变量应该是空字符串。

    如果组搜索属性是`isMemberOf`，LDAP认证直接检索用户属性`isMemberOf`值并将其分配为组信息。如果组搜索属性不是`isMemberOf`, LDAP 身份验证搜索用户所属的所有组。（后者是默认行为。）此行为基于 LDAP 组信息如何以两种方式存储：1）组条目可以具有名为的属性`会员ID`要么`成员`值是用户名；2) 用户条目可以有一个名为的属性`isMemberOf`具有作为组名的值。

-   [](<>) [`authentication_ldap_sasl_group_search_filter`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_group_search_filter)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-group-search-filter=值` |
    | ----- | -------------------------------------------------- |
    | 系统变量 | `[authentication_ldap_sasl_group_search_filter](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_group_search_filter)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `(|(&(objectClass=posixGroup)(memberUid=%s))(&(objectClass=group)(member=%s)))` |

    对于 SASL LDAP 身份验证，自定义组搜索过滤器。

    搜索过滤器值可以包含`{UA}`和`{UD}`表示用户名和完整用户 DN 的符号。例如，`{UA}`替换为用户名，例如`“行政”`， 然而`{UD}`替换为使用完整 DN，例如`“uid=admin,ou=人,dc=example,dc=com”`.以下值是默认值，它同时支持 OpenLDAP 和 Active Directory：

    ```
    (|(&(objectClass=posixGroup)(memberUid={UA}))
      (&(objectClass=group)(member={UD})))
    ```

    在某些情况下，对于用户场景，`成员`是一个简单的用户属性，不包含组信息。为了获得额外的灵活性，一个可选的`{GA}`前缀可以与组搜索属性一起使用。任何带有 {GA} 前缀的组属性都被视为具有组名的用户属性。例如，值为`{GA}会员`，如果组值为 DN，则返回组 DN 中的第一个属性值作为组名。

-   [](<>) [`authentication_ldap_sasl_init_pool_size`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_init_pool_size)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-init-pool-size=#` |
    | ----- | --------------------------------------------- |
    | 系统变量 | `[authentication_ldap_sasl_init_pool_size](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_init_pool_size)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `10` |
    | 最小值 | `0` |
    | 最大值 | `32767` |

    对于 SASL LDAP 身份验证，与 LDAP 服务器的连接池的初始大小。根据对 LDAP 服务器的并发身份验证请求的平均数量选择此变量的值。

    该插件使用[`authentication_ldap_sasl_init_pool_size`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_init_pool_size)和[`authentication_ldap_sasl_max_pool_size`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_max_pool_size)一起进行连接池管理：

    -   当身份验证插件初始化时，它会创建[`authentication_ldap_sasl_init_pool_size`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_init_pool_size)连接，除非[`authentication_ldap_sasl_max_pool_size=0`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_max_pool_size)禁用池。

    -   如果插件在当前连接池中没有空闲连接时收到一个认证请求，插件可以创建一个新连接，最大连接池大小为[`authentication_ldap_sasl_max_pool_size`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_max_pool_size).

    -   如果插件在池大小已经达到最大值并且没有可用连接时收到请求，则身份验证失败。

    -   当插件卸载时，它会关闭所有池连接。

        对插件系统变量设置的更改可能对池中已有的连接没有影响。例如，修改 LDAP 服务器主机、端口或 TLS 设置不会影响现有连接。但是，如果原始变量值无效并且无法初始化连接池，则插件会尝试为下一个 LDAP 请求重新初始化池。在这种情况下，新的系统变量值用于重新初始化尝试。

        如果[`authentication_ldap_sasl_max_pool_size=0`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_max_pool_size)要禁用池，插件打开的每个 LDAP 连接都使用系统变量当时的值。

-   [](<>) [`authentication_ldap_sasl_log_status`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_log_status)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-log-status=#` |
    | ----- | ----------------------------------------- |
    | 系统变量 | `[authentication_ldap_sasl_log_status](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_log_status)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `1` |
    | 最小值 | `1` |
    | 最大值（≥ 8.0.18） | `6` |
    | 最大值 (≤ 8.0.17) | `5` |

    [](<>)

    对于 SASL LDAP 身份验证，写入错误日志的消息的日志记录级别。下表显示了允许的电平值及其含义。

    [](<>)

    **表 6.29 身份验证的日志级别\_ldap_sasl\_日志\_状态**

    | 期权价值 | 记录的消息类型 |
    | ---- | ------- |
    | `1` | 没有消息 |
    | `2` | 错误信息 |
    | `3` | 错误和警告消息 |
    | `4` | 错误、警告和信息消息 |
    | `5` | 与上一个级别相同，加上来自 MySQL 的调试消息 |
    | `6` | 与上一级别相同，加上来自 LDAP 库的调试消息 |

    日志级别 6 从 MySQL 8.0.18 开始可用。

    [](<>)[](<>)[](<>)

    在客户端，可以通过设置消息将消息记录到标准输出`AUTHENTICATION_LDAP_CLIENT_LOG`环境变量。允许值和默认值与 for 相同[`authentication_ldap_sasl_log_status`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_log_status).

    这`AUTHENTICATION_LDAP_CLIENT_LOG`环境变量仅适用于 SASL LDAP 身份验证。它对简单的 LDAP 身份验证没有影响，因为这种情况下的客户端插件是`mysql_clear_password`，它对 LDAP 操作一无所知。

-   [](<>) [`authentication_ldap_sasl_max_pool_size`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_max_pool_size)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-max-pool-size=#` |
    | ----- | -------------------------------------------- |
    | 系统变量 | `[authentication_ldap_sasl_max_pool_size](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_max_pool_size)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `1000` |
    | 最小值 | `0` |
    | 最大值 | `32767` |

    对于 SASL LDAP 身份验证，到 LDAP 服务器的连接池的最大大小。要禁用连接池，请将此变量设置为 0。

    该变量与[`authentication_ldap_sasl_init_pool_size`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_init_pool_size).请参阅该变量的描述。

-   [](<>) [`authentication_ldap_sasl_referral`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_referral)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-referral[={OFF|ON}]` |
    | ----- | ------------------------------------------------ |
    | 介绍 | 8.0.20 |
    | 系统变量 | `[authentication_ldap_sasl_referral](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_referral)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 布尔值 |
    | 默认值 | `离开` |

    对于 SASL LDAP 身份验证，是否启用 LDAP 搜索引用。看[LDAP 搜索推荐](ldap-pluggable-authentication.html#ldap-pluggable-authentication-ldap-referral).

    可以设置此变量以覆盖默认的 OpenLDAP 引用配置；看[LDAP 可插入身份验证和 ldap.conf](ldap-pluggable-authentication.html#ldap-pluggable-authentication-ldap-conf)

-   [](<>) [`authentication_ldap_sasl_server_host`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_server_host)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-server-host=host_name` |
    | ----- | -------------------------------------------------- |
    | 系统变量 | `[authentication_ldap_sasl_server_host](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_server_host)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |

    对于 SASL LDAP 身份验证，LDAP 服务器主机。此变量的允许值取决于身份验证方法：

    -   为了[`authentication_ldap_sasl_auth_method_name=SCRAM-SHA-1`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_auth_method_name)：LDAP 服务器主机可以是主机名或 IP 地址。

    -   为了[`authentication_ldap_sasl_auth_method_name=SCRAM-SHA-256`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_auth_method_name)：LDAP 服务器主机可以是主机名或 IP 地址。

-   [](<>) [`authentication_ldap_sasl_server_port`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_server_port)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-server-port=port_num` |
    | ----- | ------------------------------------------------- |
    | 系统变量 | `[authentication_ldap_sasl_server_port](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_server_port)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `389` |
    | 最小值 | `1` |
    | 最大值 | `32376` |

    对于 SASL LDAP 身份验证，LDAP 服务器 TCP/IP 端口号。

    从 MySQL 8.0.14 开始，如果 LDAP 端口号配置为 636 或 3269，则插件使用 LDAPS（LDAP over SSL）而不是 LDAP。（LDAPS 不同于`开始TLS`.)

-   [](<>) [`authentication_ldap_sasl_tls`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_tls)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-tls[={OFF|ON}]` |
    | ----- | ------------------------------------------- |
    | 系统变量 | `[authentication_ldap_sasl_tls](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_tls)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 布尔值 |
    | 默认值 | `离开` |

    对于 SASL LDAP 身份验证，插件与 LDAP 服务器的连接是否安全。如果启用此变量，插件将使用 TLS 安全地连接到 LDAP 服务器。可以设置此变量以覆盖默认的 OpenLDAP TLS 配置；看[LDAP 可插入身份验证和 ldap.conf](ldap-pluggable-authentication.html#ldap-pluggable-authentication-ldap-conf)如果启用此变量，您可能还希望设置[`authentication_ldap_sasl_ca_path`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_ca_path)多变的。

    MySQL LDAP 插件支持 StartTLS 方法，该方法在普通 LDAP 连接之上初始化 TLS。

    从 MySQL 8.0.14 开始，可以通过设置[`authentication_ldap_sasl_server_port`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_server_port)系统变量。

-   [](<>) [`authentication_ldap_sasl_user_search_attr`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_user_search_attr)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-sasl-user-search-attr=值` |
    | ----- | ----------------------------------------------- |
    | 系统变量 | `[authentication_ldap_sasl_user_search_attr](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_user_search_attr)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `uid` |

    对于 SASL LDAP 身份验证，在 LDAP 目录条目中指定用户名的属性名称。如果未提供用户专有名称，则身份验证插件使用此属性搜索名称。例如，如果[`authentication_ldap_sasl_user_search_attr`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_sasl_user_search_attr)值为`uid`, 搜索用户名`用户1`查找带有 a 的条目`uid`的价值`用户1`.

-   [](<>) [`authentication_ldap_simple_auth_method_name`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_auth_method_name)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-auth-method-name=value` |
    | ----- | ----------------------------------------------------- |
    | 系统变量 | `[authentication_ldap_simple_auth_method_name](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_auth_method_name)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `简单的` |
    | 有效值 | `简单的`<br/><br/>`广告森林` |

    对于简单 LDAP 身份验证，身份验证方法名称。身份验证插件和 LDAP 服务器之间的通信根据此身份验证方法进行。

    笔记

    对于所有简单的 LDAP 身份验证方法，建议还设置 TLS 参数以要求与 LDAP 服务器的通信通过安全连接进行。

    允许使用以下身份验证方法值：

    -   `简单的`：使用简单的 LDAP 身份验证。此方法使用一个或两个 LDAP 绑定操作，具体取决于 MySQL 帐户是否命名 LDAP 用户专有名称。见描述[`authentication_ldap_simple_bind_root_dn`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_bind_root_dn).

    -   `广告森林`: 一个变种`简单的`，以便身份验证搜索 Active Directory 林中的所有域，对每个 Active Directory 域执行 LDAP 绑定，直到在某个域中找到用户。

-   [](<>) [`authentication_ldap_simple_bind_base_dn`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_bind_base_dn)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-bind-base-dn=值` |
    | ----- | --------------------------------------------- |
    | 系统变量 | `[authentication_ldap_simple_bind_base_dn](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_bind_base_dn)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `空值` |

    对于简单的 LDAP 身份验证，基本专有名称 (DN)。此变量可用于通过将搜索锚定在搜索树中的某个位置（“基础”）来限制搜索范围。

    假设一组 LDAP 用户条目的每个成员都具有以下形式：

    ```
    uid=user_name,ou=People,dc=example,dc=com
    ```

    并且另一组 LDAP 用户条目的成员每个都具有以下形式：

    ```
    uid=user_name,ou=Admin,dc=example,dc=com
    ```

    然后针对不同的基本 DN 值进行搜索：

    -   如果基础 DN 是`ou=人,dc=example,dc=com`：搜索仅在第一组中查找用户条目。

    -   如果基础 DN 是`ou=Admin,dc=example,dc=com`：搜索仅在第二组中查找用户条目。

    -   如果基础 DN 是`ou=dc=示例，dc=com`：搜索在第一组或第二组中查找用户条目。

        通常，更具体的基本 DN 值会导致更快的搜索，因为它们会更多地限制搜索范围。

-   [](<>) [`authentication_ldap_simple_bind_root_dn`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_bind_root_dn)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-bind-root-dn=值` |
    | ----- | --------------------------------------------- |
    | 系统变量 | `[authentication_ldap_simple_bind_root_dn](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_bind_root_dn)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `空值` |

    对于简单的 LDAP 身份验证，根专有名称 (DN)。该变量与[`authentication_ldap_simple_bind_root_pwd`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_bind_root_pwd)作为对 LDAP 服务器进行身份验证以执行搜索的凭据。身份验证使用一个或两个 LDAP 绑定操作，具体取决于 MySQL 帐户是否命名 LDAP 用户 DN：

    -   如果帐户未命名用户 DN：`authentication_ldap_simple`使用执行初始 LDAP 绑定[`authentication_ldap_simple_bind_root_dn`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_bind_root_dn)和[`authentication_ldap_simple_bind_root_pwd`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_bind_root_pwd).（默认情况下它们都是空的，因此如果未设置它们，LDAP 服务器必须允许匿名连接。）生成的绑定 LDAP 句柄用于根据客户端用户名搜索用户 DN。`authentication_ldap_simple`使用用户 DN 和客户端提供的密码执行第二次绑定。

    -   如果帐户确实命名了用户 DN：在这种情况下，不需要第一次绑定操作。`authentication_ldap_simple`使用用户 DN 和客户端提供的密码执行单个绑定。这比 MySQL 帐户未指定 LDAP 用户 DN 更快。

-   [](<>) [`authentication_ldap_simple_bind_root_pwd`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_bind_root_pwd)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-bind-root-pwd=值` |
    | ----- | ---------------------------------------------- |
    | 系统变量 | `[authentication_ldap_simple_bind_root_pwd](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_bind_root_pwd)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `空值` |

    对于简单的 LDAP 身份验证，root 专有名称的密码。该变量与[`authentication_ldap_simple_bind_root_dn`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_bind_root_dn).请参阅该变量的描述。

-   [](<>) [`authentication_ldap_simple_ca_path`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_ca_path)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-ca-path=value` |
    | ----- | -------------------------------------------- |
    | 系统变量 | `[authentication_ldap_simple_ca_path](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_ca_path)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `空值` |

    对于简单的 LDAP 身份验证，证书颁发机构文件的绝对路径。如果希望验证插件执行 LDAP 服务器证书的验证，请指定此文件。

    笔记

    除了设置[`authentication_ldap_simple_ca_path`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_ca_path)变量到文件名，您必须将适当的证书颁发机构证书添加到文件并启用[`authentication_ldap_simple_tls`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_tls)系统变量。这些变量可以设置为覆盖默认的 OpenLDAP TLS 配置；看[LDAP 可插入身份验证和 ldap.conf](ldap-pluggable-authentication.html#ldap-pluggable-authentication-ldap-conf)

-   [](<>) [`authentication_ldap_simple_group_search_attr`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_group_search_attr)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-group-search-attr=值` |
    | ----- | -------------------------------------------------- |
    | 系统变量 | `[authentication_ldap_simple_group_search_attr](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_group_search_attr)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `cn` |

    对于简单 LDAP 身份验证，在 LDAP 目录条目中指定组名的属性名称。如果[`authentication_ldap_simple_group_search_attr`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_group_search_attr)其默认值为`cn`, 搜索返回`cn`值作为组名。例如，如果 LDAP 条目带有`uid`的价值`用户1`有个`cn`的属性`我的组`, 搜索`用户1`返回`我的组`作为组名。

    如果组搜索属性是`isMemberOf`，LDAP认证直接检索用户属性`isMemberOf`值并将其分配为组信息。如果组搜索属性不是`isMemberOf`, LDAP 身份验证搜索用户所属的所有组。（后者是默认行为。）此行为基于 LDAP 组信息如何以两种方式存储：1）组条目可以具有名为的属性`会员ID`要么`成员`值是用户名；2) 用户条目可以有一个名为的属性`isMemberOf`具有作为组名的值。

-   [](<>) [`authentication_ldap_simple_group_search_filter`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_group_search_filter)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-group-search-filter=值` |
    | ----- | ---------------------------------------------------- |
    | 系统变量 | `[authentication_ldap_simple_group_search_filter](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_group_search_filter)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `(|(&(objectClass=posixGroup)(memberUid=%s))(&(objectClass=group)(member=%s)))` |

    对于简单的 LDAP 身份验证，自定义组搜索过滤器。

    搜索过滤器值可以包含`{UA}`和`{UD}`表示用户名和完整用户 DN 的符号。例如，`{UA}`替换为用户名，例如`“行政”`， 然而`{UD}`替换为使用完整 DN，例如`“uid=admin,ou=人,dc=example,dc=com”`.以下值是默认值，它同时支持 OpenLDAP 和 Active Directory：

    ```
    (|(&(objectClass=posixGroup)(memberUid={UA}))
      (&(objectClass=group)(member={UD})))
    ```

    在某些情况下，对于用户场景，`成员`是一个简单的用户属性，不包含组信息。为了获得额外的灵活性，一个可选的`{GA}`前缀可以与组搜索属性一起使用。任何带有 {GA} 前缀的组属性都被视为具有组名的用户属性。例如，值为`{GA}会员`，如果组值为 DN，则返回组 DN 中的第一个属性值作为组名。

-   [](<>) [`authentication_ldap_simple_init_pool_size`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_init_pool_size)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-init-pool-size=#` |
    | ----- | ----------------------------------------------- |
    | 系统变量 | `[authentication_ldap_simple_init_pool_size](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_init_pool_size)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `10` |
    | 最小值 | `0` |
    | 最大值 | `32767` |

    对于简单的 LDAP 身份验证，到 LDAP 服务器的连接池的初始大小。根据对 LDAP 服务器的并发身份验证请求的平均数量选择此变量的值。

    该插件使用[`authentication_ldap_simple_init_pool_size`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_init_pool_size)和[`authentication_ldap_simple_max_pool_size`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_max_pool_size)一起进行连接池管理：

    -   当身份验证插件初始化时，它会创建[`authentication_ldap_simple_init_pool_size`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_init_pool_size)连接，除非[`authentication_ldap_simple_max_pool_size=0`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_max_pool_size)禁用池。

    -   如果插件在当前连接池中没有空闲连接时收到认证请求，插件可以创建一个新连接，最大连接池大小为[`authentication_ldap_simple_max_pool_size`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_max_pool_size).

    -   如果插件在池大小已经达到最大值并且没有空闲连接时收到请求，则身份验证失败。

    -   当插件卸载时，它会关闭所有池连接。

        对插件系统变量设置的更改可能对池中已有的连接没有影响。例如，修改 LDAP 服务器主机、端口或 TLS 设置不会影响现有连接。但是，如果原始变量值无效并且无法初始化连接池，则插件会尝试为下一个 LDAP 请求重新初始化池。在这种情况下，新的系统变量值用于重新初始化尝试。

        如果[`authentication_ldap_simple_max_pool_size=0`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_max_pool_size)要禁用池，插件打开的每个 LDAP 连接都使用系统变量当时的值。

-   [](<>) [`authentication_ldap_simple_log_status`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_log_status)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-log-status=#` |
    | ----- | ------------------------------------------- |
    | 系统变量 | `[authentication_ldap_simple_log_status](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_log_status)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `1` |
    | 最小值 | `1` |
    | 最大值（≥ 8.0.18） | `6` |
    | 最大值 (≤ 8.0.17) | `5` |

    [](<>)

    对于简单的 LDAP 身份验证，写入错误日志的消息的日志记录级别。下表显示了允许的电平值及其含义。

    [](<>)

    **表 6.30 身份验证的日志级别\_ldap\_简单的\_日志\_状态**

    | 期权价值 | 记录的消息类型 |
    | ---- | ------- |
    | `1` | 没有消息 |
    | `2` | 错误信息 |
    | `3` | 错误和警告消息 |
    | `4` | 错误、警告和信息消息 |
    | `5` | 与上一个级别相同，加上来自 MySQL 的调试消息 |
    | `6` | 与上一级别相同，加上来自 LDAP 库的调试消息 |

    日志级别 6 从 MySQL 8.0.18 开始可用。

-   [](<>) [`authentication_ldap_simple_max_pool_size`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_max_pool_size)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-max-pool-size=#` |
    | ----- | ---------------------------------------------- |
    | 系统变量 | `[authentication_ldap_simple_max_pool_size](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_max_pool_size)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `1000` |
    | 最小值 | `0` |
    | 最大值 | `32767` |

    对于简单的 LDAP 身份验证，到 LDAP 服务器的连接池的最大大小。要禁用连接池，请将此变量设置为 0。

    该变量与[`authentication_ldap_simple_init_pool_size`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_init_pool_size).请参阅该变量的描述。

-   [](<>) [`authentication_ldap_simple_referral`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_referral)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-referral[={OFF|ON}]` |
    | ----- | -------------------------------------------------- |
    | 介绍 | 8.0.20 |
    | 系统变量 | `[authentication_ldap_simple_referral](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_referral)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 布尔值 |
    | 默认值 | `离开` |

    对于简单的 LDAP 身份验证，是否启用 LDAP 搜索引用。看[LDAP 搜索推荐](ldap-pluggable-authentication.html#ldap-pluggable-authentication-ldap-referral).

-   [](<>) [`authentication_ldap_simple_server_host`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_server_host)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-server-host=host_name` |
    | ----- | ---------------------------------------------------- |
    | 系统变量 | `[authentication_ldap_simple_server_host](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_server_host)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |

    对于简单的 LDAP 身份验证，LDAP 服务器主机。此变量的允许值取决于身份验证方法：

    -   为了[`authentication_ldap_simple_auth_method_name=简单`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_auth_method_name)：LDAP 服务器主机可以是主机名或 IP 地址。

    -   为了[`authentication_ldap_simple_auth_method_name=AD-FOREST`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_auth_method_name).LDAP 服务器主机可以是 Active Directory 域名。例如，对于 LDAP 服务器 URL`ldap://example.mem.local:389`, 域名可以是`内存.local`.

        [](<>)

        Active Directory 林设置可以有多个域（LDAP 服务器 IP），可以使用 DNS 发现这些域。在 Unix 和类 Unix 系统上，可能需要一些额外的设置来使用 SRV 记录配置 DNS 服务器，这些记录指定 Active Directory 域的 LDAP 服务器。有关 DNS SRV 的信息，请参阅[RFC 2782](https://tools.ietf.org/html/rfc2782).

        假设您的配置具有以下属性：

        -   提供有关 Active Directory 域信息的名称服务器具有 IP 地址`10.172.166.100`.

        -   LDAP 服务器有名称`ldap1.mem.local`通过`ldap3.mem.local`和 IP 地址`10.172.166.101`通过`10.172.166.103`.

            您希望使用 SRV 搜索可发现 LDAP 服务器。例如，在命令行中，这样的命令应该列出 LDAP 服务器：

        ```
        host -t SRV _ldap._tcp.mem.local
        ```

        执行如下 DNS 配置：

        1.  添加一行到`/etc/resolv.conf`指定提供有关 Active Directory 域信息的名称服务器：

            ```
            nameserver 10.172.166.100
            ```

        2.  使用 LDAP 服务器的 SRV 记录为名称服务器配置适当的区域文件：

            ```
            _ldap._tcp.mem.local. 86400 IN SRV 0 100 389 ldap1.mem.local.
            _ldap._tcp.mem.local. 86400 IN SRV 0 100 389 ldap2.mem.local.
            _ldap._tcp.mem.local. 86400 IN SRV 0 100 389 ldap3.mem.local.
            ```

        3.  可能还需要指定 LDAP 服务器的 IP 地址`/etc/hosts`如果服务器主机无法解析。例如，将这样的行添加到文件中：

            ```
            10.172.166.101 ldap1.mem.local
            10.172.166.102 ldap2.mem.local
            10.172.166.103 ldap3.mem.local
            ```

            使用刚刚描述的 DNS 配置，服务器端 LDAP 插件可以发现 LDAP 服务器并尝试在所有域中进行身份验证，直到身份验证成功或没有更多服务器为止。

            Windows 不需要上述的设置。给定 LDAP 服务器主机[`authentication_ldap_simple_server_host`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_server_host)值，Windows LDAP 库搜索所有域并尝试进行身份验证。

-   [](<>) [`authentication_ldap_simple_server_port`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_server_port)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-server-port=port_num` |
    | ----- | --------------------------------------------------- |
    | 系统变量 | `[authentication_ldap_simple_server_port](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_server_port)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 整数 |
    | 默认值 | `389` |
    | 最小值 | `1` |
    | 最大值 | `32376` |

    对于简单的 LDAP 身份验证，LDAP 服务器 TCP/IP 端口号。

    从 MySQL 8.0.14 开始，如果 LDAP 端口号配置为 636 或 3269，则插件使用 LDAPS（LDAP over SSL）而不是 LDAP。（LDAPS 不同于`开始TLS`.)

-   [](<>) [`authentication_ldap_simple_tls`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_tls)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-tls[={OFF|ON}]` |
    | ----- | --------------------------------------------- |
    | 系统变量 | `[authentication_ldap_simple_tls](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_tls)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 布尔值 |
    | 默认值 | `离开` |

    对于简单的 LDAP 身份验证，插件到 LDAP 服务器的连接是否安全。如果启用此变量，插件将使用 TLS 安全地连接到 LDAP 服务器。可以设置此变量以覆盖默认的 OpenLDAP TLS 配置；看[LDAP 可插入身份验证和 ldap.conf](ldap-pluggable-authentication.html#ldap-pluggable-authentication-ldap-conf)如果启用此变量，您可能还希望设置[`authentication_ldap_simple_ca_path`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_ca_path)多变的。

    MySQL LDAP 插件支持 StartTLS 方法，该方法在普通 LDAP 连接之上初始化 TLS。

    从 MySQL 8.0.14 开始，可以通过设置[`authentication_ldap_simple_server_port`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_server_port)系统变量。

-   [](<>) [`authentication_ldap_simple_user_search_attr`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_user_search_attr)

    [](<>)[](<>)

    | 命令行格式 | `--authentication-ldap-simple-user-search-attr=value` |
    | ----- | ----------------------------------------------------- |
    | 系统变量 | `[authentication_ldap_simple_user_search_attr](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_user_search_attr)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 细绳 |
    | 默认值 | `uid` |

    对于简单的 LDAP 身份验证，在 LDAP 目录条目中指定用户名的属性的名称。如果未提供用户专有名称，则身份验证插件使用此属性搜索名称。例如，如果[`authentication_ldap_simple_user_search_attr`](pluggable-authentication-system-variables.html#sysvar_authentication_ldap_simple_user_search_attr)值为`uid`, 搜索用户名`用户1`查找带有 a 的条目`uid`的价值`用户1`.
