MySQL8 中文参考(二十八)(3)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云解析 DNS,旗舰版 1个月
简介: MySQL8 中文参考(二十八)

MySQL8 中文参考(二十八)(2)https://developer.aliyun.com/article/1566113


  • 对于 SASL LDAP 认证,连接到 LDAP 服务器的连接池的最大大小。要禁用连接池,请将此变量设置为 0。
    此变量与authentication_ldap_sasl_init_pool_size一起使用。请参阅该变量的描述。
  • authentication_ldap_sasl_referral
命令行格式 --authentication-ldap-sasl-referral[={OFF|ON}]
引入版本 8.0.20
系统变量 authentication_ldap_sasl_referral
作用域 全局
动态
SET_VAR提示适用
类型 布尔值
默认值 OFF
  • 对于 SASL LDAP 认证,是否启用 LDAP 搜索引荐。请参阅 LDAP 搜索引荐。
    此变量可用于覆盖默认的 OpenLDAP 引荐配置;请参阅 LDAP 可插拔认证和 ldap.conf
  • authentication_ldap_sasl_server_host
命令行格式 --authentication-ldap-sasl-server-host=host_name
系统变量 authentication_ldap_sasl_server_host
范围 全局
动态
SET_VAR提示适用
类型 字符串
  • 对于 SASL LDAP 认证,LDAP 服务器主机。此变量的允许值取决于认证方法:
  • 对于authentication_ldap_sasl_auth_method_name=SCRAM-SHA-1:LDAP 服务器主机可以是主机名或 IP 地址。
  • 对于authentication_ldap_sasl_auth_method_name=SCRAM-SHA-256:LDAP 服务器主机可以是主机名或 IP 地址。
  • authentication_ldap_sasl_server_port
命令行格式 --authentication-ldap-sasl-server-port=port_num
系统变量 authentication_ldap_sasl_server_port
范围 全局
动态
SET_VAR提示适用
类型 整数
默认值 389
最小值 1
最大值 32376
  • 对于 SASL LDAP 认证,LDAP 服务器的 TCP/IP 端口号。
    从 MySQL 8.0.14 开始,如果 LDAP 端口号配置为 636 或 3269,则插件将使用 LDAPS(SSL 上的 LDAP)而不是 LDAP。(LDAPS 与startTLS不同。)
  • authentication_ldap_sasl_tls
命令行格式 --authentication-ldap-sasl-tls[={OFF|ON}]
系统变量 authentication_ldap_sasl_tls
范围 全局
动态
SET_VAR提示适用
类型 布尔值
默认值 OFF
  • 对于  SASL LDAP 认证,插件与 LDAP 服务器的连接是否安全。如果启用此变量,插件将使用 TLS 安全连接到 LDAP  服务器。此变量可用于覆盖默认的 OpenLDAP TLS 配置;请参阅 LDAP 可插拔认证和  ldap.conf。如果您启用此变量,可能还希望设置authentication_ldap_sasl_ca_path变量。
    MySQL LDAP 插件支持 StartTLS 方法,该方法在普通 LDAP 连接的顶部初始化 TLS。
    截至 MySQL 8.0.14,可以通过设置authentication_ldap_sasl_server_port系统变量来使用 LDAPS。
  • authentication_ldap_sasl_user_search_attr
命令行格式 --authentication-ldap-sasl-user-search-attr=value
系统变量 authentication_ldap_sasl_user_search_attr
范围 全局
动态
SET_VAR提示适用
类型 字符串
默认值 uid
  • 对于 SASL LDAP 身份验证,指定 LDAP 目录条目中的用户名的属性名称。如果未提供用户可分辨名称,身份验证插件将使用此属性搜索名称。例如,如果authentication_ldap_sasl_user_search_attr的值为uid,则搜索用户名称user1会找到具有uid值为user1的条目。
  • authentication_ldap_simple_auth_method_name
命令行格式 --authentication-ldap-simple-auth-method-name=value
系统变量 authentication_ldap_simple_auth_method_name
范围 全局
动态
SET_VAR提示适用
类型 字符串
默认值 SIMPLE
有效值 SIMPLE``AD-FOREST
  • 对于简单的 LDAP 身份验证,身份验证方法名称。身份验证插件与 LDAP 服务器之间的通信根据此身份验证方法进行。注意对于所有简单的 LDAP 身份验证方法,建议还设置 TLS 参数,要求与 LDAP 服务器的通信必须通过安全连接进行。允许使用这些身份验证方法值:
  • SIMPLE: 使用简单的 LDAP 身份验证。该方法使用一个或两个 LDAP 绑定操作,具体取决于 MySQL 账户是否命名了 LDAP 用户的可分辨名称。请参阅authentication_ldap_simple_bind_root_dn的描述。
  • AD-FOREST: 一种基于SIMPLE的变体,使得身份验证在 Active Directory forest 中搜索所有域,在每个 Active Directory 域上执行 LDAP 绑定,直到在某个域中找到用户。
  • authentication_ldap_simple_bind_base_dn
命令行格式 --authentication-ldap-simple-bind-base-dn=value
系统变量 authentication_ldap_simple_bind_base_dn
范围 全局
动态
SET_VAR提示适用
类型 字符串
默认值 NULL
  • 对于简单的 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=People,dc=example,dc=com:搜索仅在第一组中找到用户条目。
  • 如果基本 DN 为ou=Admin,dc=example,dc=com:搜索仅在第二组中找到用户条目。
  • 如果基本 DN 为ou=dc=example,dc=com:搜索在第一组或第二组中找到用户条目。
  • 一般来说,更具体的基本 DN 值会导致更快的搜索,因为它们限制了搜索范围。
  • authentication_ldap_simple_bind_root_dn
命令行格式 --authentication-ldap-simple-bind-root-dn=value
系统变量 authentication_ldap_simple_bind_root_dn
范围 全局
动态
SET_VAR提示适用
类型 字符串
默认值 NULL
  • 对于简单的 LDAP 身份验证,根分明名称(DN)。此变量与authentication_ldap_simple_bind_root_pwd一起用作验证到 LDAP 服务器以执行搜索的凭据。身份验证使用一个或两个 LDAP 绑定操作,具体取决于 MySQL 帐户是否命名为 LDAP 用户 DN:
  • 如果帐户没有指定用户 DN:authentication_ldap_simple使用authentication_ldap_simple_bind_root_dnauthentication_ldap_simple_bind_root_pwd执行初始 LDAP 绑定。(这两个变量默认为空,因此如果它们未设置,则 LDAP 服务器必须允许匿名连接。)生成的绑定 LDAP 句柄用于根据客户端用户名搜索用户 DN。authentication_ldap_simple使用用户 DN 和客户端提供的密码执行第二次绑定。
  • 如果帐户没有指定用户 DN:在这种情况下,第一个绑定操作是不必要的。authentication_ldap_simple使用用户 DN 和客户端提供的密码执行单个绑定。这比如果 MySQL 帐户没有指定 LDAP 用户 DN 要快。
  • authentication_ldap_simple_bind_root_pwd
命令行格式 --authentication-ldap-simple-bind-root-pwd=value
系统变量 authentication_ldap_simple_bind_root_pwd
作用域 全局
动态
SET_VAR 提示适用
类型 字符串
默认值 NULL
  • 对于简单的 LDAP 身份验证,根分隔名称的密码。此变量与authentication_ldap_simple_bind_root_dn一起使用。请参阅该变量的描述。
  • authentication_ldap_simple_ca_path
命令行格式 --authentication-ldap-simple-ca-path=value
系统变量 authentication_ldap_simple_ca_path
作用域 全局
动态
SET_VAR 提示适用
类型 字符串
默认值 NULL
  • 对于简单的 LDAP 身份验证,证书颁发机构文件的绝对路径。如果希望认证插件执行 LDAP 服务器证书的验证,请指定此文件。
    注意
    除了将authentication_ldap_simple_ca_path变量设置为文件名之外,还必须将适当的证书颁发机构证书添加到文件中,并启用authentication_ldap_simple_tls系统变量。这些变量可以设置以覆盖默认的 OpenLDAP TLS 配置;请参阅 LDAP Pluggable Authentication and ldap.conf
  • authentication_ldap_simple_group_search_attr
命令行格式 --authentication-ldap-simple-group-search-attr=value
系统变量 authentication_ldap_simple_group_search_attr
范围 全局
动态
SET_VAR 提示适用
类型 字符串
默认值 cn
  • 对于简单的 LDAP 认证,指定 LDAP 目录条目中组名的属性名称。如果authentication_ldap_simple_group_search_attr具有其默认值cn,搜索将返回cn值作为组名。例如,如果具有uid值为user1的 LDAP 条目具有cn属性为mygroup,则搜索user1将返回mygroup作为组名。
    如果组搜索属性是isMemberOf,LDAP 认证直接检索用户属性isMemberOf的值,并将其分配为组信息。如果组搜索属性不是isMemberOf,LDAP 认证将搜索用户是成员的所有组。(后者是默认行为。)此行为基于 LDAP 组信息可以以两种方式存储的方式:1)组条目可以具有名为memberUidmember的属性,其值为用户名;2)用户条目可以具有名为isMemberOf的属性,其值为组名。
  • authentication_ldap_simple_group_search_filter
命令行格式 --authentication-ldap-simple-group-search-filter=value
系统变量 authentication_ldap_simple_group_search_filter
范围 全局
动态
SET_VAR 提示适用
类型 字符串
默认值 (|(&(objectClass=posixGroup)(memberUid=%s))(&(objectClass=group)(member=%s)))
  • 对于简单的 LDAP 认证,自定义组搜索过滤器。
    搜索过滤器值可以包含{UA}{UD}符号,分别表示用户名和完整用户 DN。例如,{UA}被替换为用户名,如"admin",而{UD}被替换为完整 DN,如"uid=admin,ou=People,dc=example,dc=com"。以下值是默认值,支持 OpenLDAP 和 Active Directory:
(|(&(objectClass=posixGroup)(memberUid={UA}))
  (&(objectClass=group)(member={UD})))
  • 在某些用户场景中,memberOf是一个简单的用户属性,不包含任何组信息。为了增加灵活性,可以在组搜索属性中使用可选的{GA}前缀。任何带有{GA}前缀的组属性都被视为具有组名的用户属性。例如,如果值为{GA}MemberOf,如果组值是 DN,则从组 DN 中返回第一个属性值作为组名。
  • authentication_ldap_simple_init_pool_size
命令行格式 --authentication-ldap-simple-init-pool-size=#
系统变量 authentication_ldap_simple_init_pool_size
作用域 全局
动态
SET_VAR提示适用
类型 整数
默认值 10
最小值 0
最大值 32767
单位 连接
  • 对于简单的 LDAP 认证,连接到 LDAP 服务器的连接池的初始大小。根据对 LDAP 服务器的平均并发认证请求数量选择此变量的值。插件同时使用authentication_ldap_simple_init_pool_sizeauthentication_ldap_simple_max_pool_size进行连接池管理:
  • 当认证插件初始化时,它会创建authentication_ldap_simple_init_pool_size个连接,除非authentication_ldap_simple_max_pool_size=0以禁用连接池。
  • 如果插件在当前连接池中没有空闲连接时收到认证请求,则插件可以创建一个新连接,最多达到authentication_ldap_simple_max_pool_size给定的最大连接池大小。
  • 如果插件在池大小已达到最大值且没有空闲连接时收到请求,则身份验证失败。
  • 当插件卸载时,它会关闭所有连接池中的连接。
  • 对插件系统变量设置的更改可能对已经在池中的连接没有影响。例如,修改  LDAP 服务器主机、端口或 TLS 设置不会影响现有连接。但是,如果原始变量值无效且连接池无法初始化,则插件会尝试为下一个 LDAP  请求重新初始化池。在这种情况下,新的系统变量值将用于重新初始化尝试。
    如果authentication_ldap_simple_max_pool_size=0以禁用连接池,则插件打开的每个 LDAP 连接都使用系统变量在那时的值。
  • authentication_ldap_simple_log_status
命令行格式 --authentication-ldap-simple-log-status=#
系统变量 authentication_ldap_simple_log_status
作用范围 全局
动态
SET_VAR提示适用
类型 整数
默认值 1
最小值 1
最大值(≥ 8.0.18) 6
最大值(≤ 8.0.17) 5
  • 对于简单的 LDAP 身份验证,写入错误日志的消息的日志级别。下表显示了允许的级别值及其含义。
    表 8.31 authentication_ldap_simple_log_status 的日志级别
选项数值 记录的消息类型
1 无消息
2 错误消息
3 错误和警告消息
4 错误、警告和信息消息
5 与前一级别相同,加上来自 MySQL 的调试消息
6 与前一级别相同,加上来自 LDAP 库的调试消息
  • MySQL 8.0.18 版本中提供日志级别 6。
  • authentication_ldap_simple_max_pool_size
命令行格式 --authentication-ldap-simple-max-pool-size=#
系统变量 authentication_ldap_simple_max_pool_size
作用范围 全局
动态
SET_VAR提示适用
类型 整数
默认值 1000
最小值 0
最大值 32767
单位 连接数
  • 对于简单的 LDAP 身份��证,连接到 LDAP 服务器的连接池的最大大小。要禁用连接池,请将此变量设置为 0。
    此变量与 authentication_ldap_simple_init_pool_size 结合使用。请参阅该变量的描述。
  • authentication_ldap_simple_referral
命令行格式 --authentication-ldap-simple-referral[={OFF|ON}]
引入版本 8.0.20
系统变量 authentication_ldap_simple_referral
范围 全局
动态
SET_VAR 提示适用
类型 布尔值
默认值 OFF
  • 对于简单的 LDAP 认证,是否启用 LDAP 搜索引荐。请参阅 LDAP 搜索引荐。
  • authentication_ldap_simple_server_host
命令行格式 --authentication-ldap-simple-server-host=host_name
系统变量 authentication_ldap_simple_server_host
范围 全局
动态
SET_VAR 提示适用
类型 字符串
  • 对于简单的 LDAP 认证,LDAP 服务器主机。此变量的允许值取决于认证方法:
  • 对于 authentication_ldap_simple_auth_method_name=SIMPLE: LDAP 服务器主机可以是主机名或 IP 地址。
  • 对于 authentication_ldap_simple_auth_method_name=AD-FOREST。LDAP 服务器主机可以是 Active Directory 域名。例如,对于 LDAP 服务器 URL 为 ldap://example.mem.local:389,域名可以是 mem.local。Active  Directory 森林设置可以拥有多个域(LDAP 服务器 IP),可以使用 DNS 发现。在 Unix 和类 Unix  系统上,可能需要进行一些额外的设置来配置您的 DNS 服务器,使用指定 Active Directory 域的 LDAP 服务器的 SRV  记录。有关 DNS SRV 的信息,请参阅 RFC 2782。假设您的配置具有以下属性:
  • 提供有关 Active Directory 域信息的名称服务器的 IP 地址为 10.172.166.100
  • LDAP 服务器的名称为 ldap1.mem.localldap3.mem.local,IP 地址为 10.172.166.10110.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
  1. 针对 LDAP 服务器配置适当的区域文件,包含 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.
  1. 如果服务器主机无法解析,可能还需要在 /etc/hosts 中指定 LDAP 服务器的 IP 地址。例如,向文件中添加如下行:
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 不需要像刚才描述的设置。给定 authentication_ldap_simple_server_host 值中的 LDAP 服务器主机,Windows LDAP 库会搜索所有域并尝试进行身份验证。
  • authentication_ldap_simple_server_port
命令行格式 --authentication-ldap-simple-server-port=port_num
系统变量 authentication_ldap_simple_server_port
范围 全局
动态
SET_VAR Hint Applies
类型 整数
默认值 389
最小值 1
最大值 32376
  • 简单 LDAP 身份验证所需的 LDAP 服务器 TCP/IP 端口号。
    从 MySQL 8.0.14 开始,如果 LDAP 端口号配置为 636 或 3269,则插件将使用 LDAPS(LDAP over SSL)而不是 LDAP。(LDAPS 与 startTLS 不同。)
  • authentication_ldap_simple_tls
命令行格式 --authentication-ldap-simple-tls[={OFF|ON}]
系统变量 authentication_ldap_simple_tls
范围 全局
动态
SET_VAR Hint Applies
类型 布尔值
默认值 OFF
  • 对于简单的  LDAP 认证,插件与 LDAP 服务器的连接是否安全。如果启用此变量,插件将使用 TLS 安全连接到 LDAP  服务器。此变量可用于覆盖默认的 OpenLDAP TLS 配置;请参阅 LDAP 可插拔认证和  ldap.conf。如果启用此变量,您可能还希望设置 authentication_ldap_simple_ca_path 变量。
    MySQL LDAP 插件支持 StartTLS 方法,该方法在普通 LDAP 连接的基础上初始化 TLS。
    从 MySQL 8.0.14 开始,可以通过设置 authentication_ldap_simple_server_port 系统变量来使用 LDAPS。
  • authentication_ldap_simple_user_search_attr
命令行格式 --authentication-ldap-simple-user-search-attr=value
系统变量 authentication_ldap_simple_user_search_attr
范围 全局
动态
SET_VAR 提示适用
类型 字符串
默认值 uid
  • 对于简单的 LDAP 认证,指定 LDAP 目录条目中用户名称的属性名称。如果未提供用户的可分辨名称,认证插件将使用此属性搜索名称。例如,如果 authentication_ldap_simple_user_search_attr 的值为 uid,则搜索用户名称 user1 将找到具有 uid 值为 user1 的条目。


MySQL8 中文参考(二十八)(4)https://developer.aliyun.com/article/1566115

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
关系型数据库 MySQL Unix
MySQL8 中文参考(二十三)(3)
MySQL8 中文参考(二十三)
49 4
|
4月前
|
存储 缓存 关系型数据库
MySQL8 中文参考(二十一)(5)
MySQL8 中文参考(二十一)
75 3
|
4月前
|
存储 监控 Java
MySQL8 中文参考(二十一)(4)
MySQL8 中文参考(二十一)
116 3
|
4月前
|
存储 安全 关系型数据库
MySQL8 中文参考(二十一)(1)
MySQL8 中文参考(二十一)
47 3
|
4月前
|
存储 关系型数据库 MySQL
MySQL8 中文参考(二十一)(3)
MySQL8 中文参考(二十一)
65 2
|
4月前
|
关系型数据库 MySQL Unix
MySQL8 中文参考(二十一)(2)
MySQL8 中文参考(二十一)
60 2
|
4月前
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL8 中文参考(二十五)(5)
MySQL8 中文参考(二十五)
42 2
|
4月前
|
存储 关系型数据库 MySQL
MySQL8 中文参考(二十四)(1)
MySQL8 中文参考(二十四)
46 2
|
4月前
|
NoSQL 关系型数据库 MySQL
MySQL8 中文参考(二十三)(2)
MySQL8 中文参考(二十三)
53 2
|
4月前
|
存储 关系型数据库 MySQL
MySQL8 中文参考(二十三)(1)
MySQL8 中文参考(二十三)
32 2
下一篇
无影云桌面