10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国Ltr)- 42.0 mb
PDF (A4)- 42.1 mb
手册(TGZ)- 267.2 kb
手册(Zip)- 376.9 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册节选

6.4.1.8 Kerberos可插入认证

请注意

Kerberos可插入身份验证是MySQL Enterprise Edition(一个商业产品)中包含的扩展。要了解更多关于商业产品的信息,请参见https://www.10bet靠谱mysql.com/products/

MySQL企业版支持一种身份验证方法,允许用户使用Kerberos对MySQL Server进行身份验证,前提是有适当的Kerberos票据可用或可以获得。

这种认证方法在MySQL 8.0.26及更高版本中可用,适用于Linux上的MySQL服务器和客户端。它在应用程序可以访问Microsoft Active Directory的Linux环境中非常有用,后者默认启用了Kerberos。从MySQL 8.0.27开始,Windows上也支持客户端插件。(服务器端插件仍然只支持Linux。)

Kerberos可插入身份验证提供了以下功能:

  • 外部身份验证:Kerberos身份验证使MySQL Server能够接受来自MySQL授权表之外定义的用户的连接,这些用户已经获得了适当的Kerberos票据。

  • 安全性:Kerberos将票据与对称密钥加密技术结合使用,支持不通过网络发送密码的身份验证。Kerberos身份验证支持无用户和无密码的场景。

下表显示了插件和库文件名。不同系统的文件名后缀可能不同。文件必须位于由plugin_dir系统变量。有关安装信息,请参见安装Kerberos可插入身份验证

表6.21 Kerberos认证的插件和库名称

插件或文件 插件或文件名
服务器端插件 authentication_kerberos
客户端插件 authentication_kerberos_client
库文件 authentication_kerberos.soauthentication_kerberos_client.so

服务器端Kerberos身份验证插件只包含在MySQL企业版中。它不包含在MySQL社区发行版中。客户端插件包含在所有发行版中,包括社区发行版。这使得来自任何发行版的客户端都可以连接到加载了服务器端插件的服务器。

以下部分提供了Kerberos可插入身份验证的安装和使用信息:

有关MySQL中可插入身份验证的一般信息,请参见第6.2.17节,“可插入认证”

Kerberos可插入身份验证的先决条件

要为MySQL使用Kerberos可插入身份验证,必须满足以下先决条件:

  • Kerberos服务必须可供Kerberos身份验证插件进行通信。

  • 由MySQL进行身份验证的每个Kerberos用户(主体)必须存在于KDC服务器管理的数据库中。

  • 在使用服务器端或客户端Kerberos身份验证插件的系统上,必须提供Kerberos客户端库。此外,GSSAPI被用作访问Kerberos身份验证的接口,因此必须有一个GSSAPI库。

Kerberos对MySQL用户的身份验证是如何工作的

本节概述MySQL和Kerberos如何一起对MySQL用户进行身份验证。有关显示如何设置MySQL帐户以使用Kerberos身份验证插件的示例,请参见使用Kerberos可插入身份验证

这里假定您熟悉Kerberos的概念和操作。下面的列表简要地定义了几个常见的Kerberos术语。您也可以找到的词汇部分RFC 4120有帮助的。

  • 主要:命名实体,如用户或服务器。在本讨论中,一些与主体相关的术语经常出现:

    • SPN):服务主体名称;表示服务的主体的名称。

    • 隐喻:用户主体名;表示用户的主体的名称。

  • KDC:密钥分发中心,包括AS和TGS:

    • 作为:认证服务器;提供获得其他票证所需的初始票证。

    • TGS:授票服务器;向拥有有效TGT的Kerberos客户机提供额外的票据。

  • TGT:准票票;向政府服务小组索取使用服务的服务票。

  • :乘车票;提供对诸如MySQL服务器所提供的服务的访问。

例如,使用Kerberos进行身份验证需要一个由Microsoft Active Directory提供的KDC服务器。

MySQL中的Kerberos身份验证使用通用安全服务应用程序接口(GSSAPI),这是一个安全抽象接口。Kerberos是可以通过该抽象接口使用的特定安全协议的实例。使用GSSAPI,应用程序向Kerberos进行身份验证,以获得服务凭证,然后使用这些凭证来支持对其他服务的安全访问。在Windows上,安全支持提供程序接口(SSPI)实现GSSAPI。

有了Kerberos身份验证插件,应用程序和MySQL服务器就能够使用Kerberos身份验证协议来相互验证用户和MySQL服务。通过这种方式,用户和服务器都能够验证彼此的身份。不通过网络发送密码,Kerberos协议消息受到保护,免受窃听和重放攻击。

Kerberos身份验证遵循这些步骤,其中服务器端和客户端部分使用authentication_kerberos而且authentication_kerberos_client认证插件,分别为:

  1. MySQL服务器将其服务主体名称发送给客户端应用程序。必须在Kerberos系统中注册这个SPN,并在服务器端使用authentication_kerberos_service_principal系统变量。

  2. 客户端应用程序使用GSSAPI创建Kerberos客户端身份验证会话,并与Kerberos KDC交换Kerberos消息:

    • 客户端从认证服务器获取票据授权票据。

    • 使用TGT,客户端从票证授予服务中获得MySQL的服务票证。

    如果TGT、ST或两者都已在本地缓存,则可以跳过或部分跳过此步骤。客户端可以选择使用客户端keytab文件来获取TGT和ST,而不需要提供密码。

  3. 使用GSSAPI,客户端应用程序将MySQL ST呈现给MySQL服务器。

  4. MySQL服务器使用GSSAPI创建Kerberos服务器端身份验证会话。服务器验证用户身份和用户请求的有效性。它使用在ST的service keytab文件中配置的业务密钥对ST进行认证,以确定认证是否成功,并将认证结果返回给客户端。

应用程序能够使用提供的用户名和密码进行身份验证,或者使用本地缓存的TGT或ST(例如,使用kinit或类似的)。因此,这种设计涵盖了从完全无用户和无密码连接(从本地存储的Kerberos缓存获取Kerberos服务票据)到同时提供用户名和密码并用于从KDC获取有效Kerberos服务票据并发送到MySQL服务器的连接的用例。

如前所述,MySQL Kerberos身份验证使用两种keytab文件:

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

安装Kerberos可插入身份验证

本节介绍如何安装服务器端Kerberos身份验证插件。有关安装插件的一般信息,请参见第5.6.1节“安装和卸载插件”

为了被服务器使用,插件库文件必须位于MySQL插件目录(由plugin_dir系统变量)。如果有必要,可以通过设置的值来配置插件目录位置plugin_dir在服务器启动时。

服务器端插件库文件名为authentication_kerberos.每个平台的文件名后缀不同(例如,所以对于Unix和类Unix系统,. dll对于Windows)。

要在服务器启动时加载插件,请使用——plugin-load-add选项来命名包含它的库文件。使用这种插件加载方法,必须在每次服务器启动时给出该选项。另外,为您希望配置的任何插件提供的系统变量指定值。该插件公开了这些系统变量,使其操作可以被配置:

  • authentication_kerberos_service_principal: MySQL服务主体名称(SPN)。这个名称被发送给试图使用Kerberos进行身份验证的客户机。SPN必须必须存在于KDC服务器管理的数据库中。

  • authentication_kerberos_service_key_tab:用于验证从客户端收到的票据的keytab文件。该文件必须存在并包含用于SPN的有效密钥,否则客户机的身份验证将失败。

有关所有Kerberos身份验证系统变量的详细信息,请参见第6.4.1.13节,“可插入的认证系统变量”

要加载插件并配置它,请在您的my.cnf文件,调整所以根据需要为你的平台添加后缀,并使用适合你安装的系统变量的值:

(mysqld) plugin-load-add = authentication_kerberos。因此authentication_kerberos_service_principal=mysql/krbauth.example.com@MYSQL.LOCAL authentication_kerberos_service_key_tab=/var/mysql/data/mysql.keytab . so authentication_kerberos_service_principal=mysql/krbauth.example.com@MYSQL.LOCAL

修改后my.cnf,重新启动服务器,使新的设置生效。

或者,要在运行时加载插件,使用此语句,调整所以为您的平台添加必要的后缀:

安装authentication_kerberos.so插件

安装插件立即加载插件,并将其注册到mysql.plugins系统表,使服务器在以后每次正常启动时都加载它,而不需要——plugin-load-add

在运行时安装插件后,它公开的系统变量就可用了,您可以将它们的设置添加到您的my.cnf文件来配置插件以进行后续重启。例如:

[mysqld] authentication_kerberos_service_principal=mysql/krbauth.example.com@MYSQL.LOCAL authentication_kerberos_service_key_tab=/var/mysql/data/mysql.keytab

修改后my.cnf,重新启动服务器,使新的设置生效。

要在运行时而不是启动时设置和持久化每个值,可以使用以下语句:

SET PERSIST authentication_kerberos_service_principal='mysql/krbauth.example.com@MYSQL.LOCAL';SET PERSIST authentication_kerberos_service_key_tab='/var/mysql/data/mysql.keytab';

设置保存为正在运行的MySQL实例设置一个值。它还会保存该值,使其保留到后续服务器重新启动时。要更改正在运行的MySQL实例的值,而不将其保留到后续重启时,请使用全球关键字而不是坚持.看到第13.7.6.1节“变量赋值的SET语法”

要验证插件安装,请检查INFORMATION_SCHEMA。插件表或使用显示插件声明(见第5.6.2节“获取服务器插件信息”).例如:

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA。PLUGIN_NAME = 'authentication_kerberos';+-------------------------+---------------+ | PLUGIN_NAME | PLUGIN_STATUS  | +-------------------------+---------------+ | authentication_kerberos |活跃  | +-------------------------+---------------+

如果一个插件初始化失败,检查服务器错误日志诊断消息。

要将MySQL帐户与Kerberos插件关联,请参见使用Kerberos可插入身份验证

使用Kerberos可插入身份验证

介绍如何使MySQL帐户使用Kerberos可插入身份验证连接到MySQL服务器。假设服务器运行时启用了服务器端插件,如中所述安装Kerberos可插入身份验证,并且客户端插件在客户端主机上可用。

验证Kerberos的可用性

下面的示例演示如何测试Active Directory中Kerberos的可用性。该示例做出了以下假设:

  • Active Directory正在主机上运行krbauth.example.comIP地址198.51.100.11

  • 与mysql相关的Kerberos身份验证使用MYSQL。当地的域,也有用途MYSQL。当地的作为领域名称。

  • 一位校长karl@MYSQL.LOCAL已在KDC注册。(在后面的讨论中,这个主体名称与使用Kerberos对MySQL服务器进行身份验证的MySQL帐户相关联。)

满足这些假设后,遵循以下步骤:

  1. 验证在操作系统中正确安装和配置了Kerberos库。例如,配置aMYSQL。当地的域和域,以便在MySQL身份验证期间使用/etc/krb5.confKerberos配置文件应该包含如下内容:

    (领域)MYSQL。当地的= { kdc = krbauth.example.com admin_server = krbauth.example.com default_domain = MYSQL.LOCAL }
  2. 您可能需要添加一个条目设置对于服务器主机:

    198.51.100.11 krbauth krbauth.example.com
  3. 检查Kerberos身份验证是否正常工作:

    1. 使用kinit通过Kerberos进行身份验证:

      $> kinit karl@MYSQL.LOCAL karl@MYSQL.LOCAL密码:(此处输入密码)

      该命令对命名的Kerberos主体进行身份验证karl@MYSQL.LOCAL.当命令提示输入主体的密码时,输入主体的密码。KDC返回一个TGT,该TGT缓存在客户端,供其他支持kerberos的应用程序使用。

    2. 使用检查是否正确获取了TGT。输出应该如下所示:

      $> klist票据缓存:FILE:/tmp/krb5cc_244306 Default principal: karl@MYSQL.LOCAL Valid starting Expires服务主体03/23/2021 08:18:33 03/23/2021 18:18:33 krbtgt/MYSQL.LOCAL@MYSQL.LOCAL
创建一个使用Kerberos认证的MySQL帐户

MySQL身份验证使用authentication_kerberos身份验证插件基于Kerberos用户主体名(UPN)。这里的说明假设MySQL用户名为卡尔使用Kerberos对MySQL进行身份验证,以确定Kerberos领域的名称MYSQL。当地的,用户主体名为karl@MYSQL.LOCAL.这个UPN必须在以下几个地方注册:

  • Kerberos管理员应该将用户名注册为Kerberos主体。该名称包含一个领域名称。客户端使用主体名称和密码使用Kerberos进行身份验证,并获得票据授予票据(TGT)。

  • MySQL DBA应该创建一个与Kerberos主体名对应的帐户,并使用Kerberos插件进行身份验证。

假设适当的服务管理员已经注册了Kerberos用户主体名,并且如前面所述安装Kerberos可插入身份验证, MySQL服务器已经使用服务器端Kerberos插件的适当配置设置启动。创建与的Kerberos UPN对应的MySQL帐户用户@realm_name, MySQL DBA使用如下语句:

创建用户用户用authentication_kerberos BY '识别realm_name”;

该帐户由用户可以包含或省略主机名部分。如果省略主机名,则默认为像往常一样。的realm_name存储为authentication_string中的帐户的值mysql.user系统表。

创建一个与UPN对应的MySQL帐户karl@MYSQL.LOCAL,使用以下语句:

创建一个认证为kerberos的用户:“karl”

例如,如果MySQL必须为这个帐户构造UPN,以获取或验证票据(tgt或STs),它将通过组合帐户名(忽略任何主机名部分)和领域名来实现。例如,由上述结果产生的完整帐户名创建用户语句是“卡尔”@“%”.MySQL从用户名部分构造UPN卡尔(忽略主机名部分)和域名MYSQL。当地的生产karl@MYSQL.LOCAL

请注意

在创建使用authentication_kerberos,创建用户语句不包括UPN域作为用户名的一部分。相反,应该指定领域(MYSQL。当地的的身份验证字符串通过条款。方法创建的帐户与此不同authentication_ldap_saslSASL LDAP认证插件,使用GSSAPI/Kerberos认证方法。对于这类帐户,创建用户语句将UPN域作为用户名的一部分。看到创建使用GSSAPI/Kerberos进行LDAP认证的MySQL帐户

设置好帐户后,客户端可以使用它连接到MySQL服务器。这个过程取决于客户端主机运行的是Linux还是Windows,如下面的讨论所示。

使用authentication_kerberos受用户部分相同但领域部分不同的upn不支持的限制。例如,您不能创建同时对应这两个upn的MySQL帐户:

kate@MYSQL.LOCAL kate@EXAMPLE.COM

的用户部分凯特但在领域部分有所不同(MYSQL。当地的EXAMPLE.COM).这是不允许的。

使用MySQL帐户连接MySQL服务器

在建立使用Kerberos进行身份验证的MySQL帐户后,客户端可以使用该帐户按如下方式连接到MySQL服务器:

  1. 使用用户主体名(UPN)及其密码向Kerberos进行身份验证,以获得票据授予票据(TGT)。

  2. 使用TGT获取MySQL的service ticket (ST)。

  3. 通过MySQL ST对MySQL服务器进行身份验证。

第一步(对Kerberos进行身份验证)可以通过多种方式执行:

  • 在连接MySQL之前:

    • 在Linux上,调用kinit获取TGT并将其保存在Kerberos凭证缓存中。

    • 在Windows上,在登录时可能已经完成身份验证,这将登录用户的TGT保存在Windows内存缓存中。kinit没有使用,也没有Kerberos缓存。

  • 当连接到MySQL时,客户端程序本身可以获得TGT,如果它可以确定所需的Kerberos UPN和密码:

    • 这些信息可以来自命令选项或操作系统等来源。

    • 在Linux上,客户端还可以使用keytab文件或/etc/krb5.conf配置文件。Windows客户端两者都不使用。

Linux和Windows中连接MySQL服务器的客户端命令的细节不同,所以每种主机类型分别讨论,但是这些命令属性适用于任何主机类型:

  • 所示的每个命令都包含以下选项,但在某些条件下可以省略每一个选项:

    • ——default-auth选项指定客户端身份验证插件的名称(authentication_kerberos_client).选项时可省略此选项——用户选项,因为MySQL可以从MySQL服务器发送的用户帐户信息中确定插件。

    • ——plugin-dir选项向客户端程序指示authentication_kerberos_client插件。如果插件安装在默认(已编译)位置,则可以省略此选项。

  • 命令还应该包括任何其他选项,例如——主机——港口需要指定连接到哪个MySQL服务器。

  • 在单行中输入每个命令。如果命令中包含a——密码选项请求密码,在出现提示时输入与MySQL用户关联的Kerberos UPN的密码。

Linux客户端连接命令

在Linux上,连接到MySQL服务器的适当客户端命令取决于该命令是使用Kerberos缓存中的TGT进行身份验证,还是基于MySQL用户名和UPN密码的命令选项进行身份验证:

  • 在调用MySQL客户端程序之前,客户端用户可以独立于MySQL从KDC获得TGT。例如,客户端用户可以使用kinit通过提供Kerberos用户主体名和主体密码对Kerberos进行身份验证:

    $> kinit karl@MYSQL.LOCAL karl@MYSQL.LOCAL密码:(此处输入密码)

    UPN的生成TGT被缓存,并可供其他支持Kerberos的应用程序使用,例如使用客户端Kerberos身份验证插件的程序。在这种情况下,调用客户端时不指定用户名或密码选项:

    Mysql——default-auth=authentication_kerberos_client——plugin-dir=路径/ /插件/目录中

    客户端插件在缓存中找到TGT,使用它获取MySQL ST,并使用ST对MySQL服务器进行身份验证。

    如前所述,当缓存UPN的TGT时,客户端命令中不需要用户名和密码选项。如果命令包含了它们,它们的处理方式如下:

    • 该命令包含一个user-name选项:

      Mysql——default-auth=authentication_kerberos_client——plugin-dir=路径/ /插件/目录中——用户=卡尔

      在这种情况下,如果选项指定的用户名与TGT中UPN的用户名部分不匹配,则认证失败。

    • 该命令包括一个密码选项,当提示时输入:

      Mysql——default-auth=authentication_kerberos_client——plugin-dir=路径/ /插件/目录中——密码

      在这种情况下,客户端插件会忽略密码。因为身份验证是基于TGT的,所以它可以成功即使用户提供的密码不正确.由于这个原因,如果发现一个有效的TGT导致忽略密码,插件会产生一个警告。

  • 如果Kerberos缓存不包含TGT,则客户端Kerberos身份验证插件本身可以从KDC获得TGT。使用MySQL用户名和密码选项调用客户端,然后在出现提示时输入UPN密码:

    Mysql——default-auth=authentication_kerberos_client——plugin-dir=路径/ /插件/目录中——用户=卡尔——密码

    客户端Kerberos身份验证插件组合了用户名(卡尔)和用户帐户中指定的领域(MYSQL。当地的)建立统一网络(karl@MYSQL.LOCAL).客户端插件通过UPN和密码获取TGT,通过TGT获取MySQL ST,通过ST认证到MySQL服务器。

    或者,假设Kerberos缓存不包含TGT,并且命令指定了密码选项但没有指定用户名选项:

    Mysql——default-auth=authentication_kerberos_client——plugin-dir=路径/ /插件/目录中——密码

    客户端Kerberos身份验证插件使用操作系统登录名作为MySQL用户名。它将该用户名和用户MySQL帐户中的领域组合在一起来构造UPN。客户端插件通过UPN和密码获取TGT,通过TGT获取MySQL ST,通过ST认证到MySQL服务器。

如果您不确定TGT是否存在,您可以使用检查。

请注意

当客户端Kerberos身份验证插件本身获得TGT时,客户端用户可能不希望重用TGT。如在Kerberos认证客户端配置参数,本地/etc/krb5.conf文件可以用来导致客户端插件在使用TGT时销毁它。

Windows客户端连接命令

在Windows上,连接到MySQL服务器的适当客户端命令不同,取决于该命令是基于MySQL用户名和UPN密码的命令选项进行身份验证,还是使用来自Windows内存缓存的TGT进行身份验证。

命令可以显式地为MySQL用户名和UPN密码指定选项,也可以省略这些选项:

  • 该命令包括MySQL用户名和UPN密码选项:

    Mysql——default-auth=authentication_kerberos_client——plugin-dir=路径/ /插件/目录中——用户=卡尔——密码

    客户端Kerberos身份验证插件组合了用户名(卡尔)和用户帐户中指定的领域(MYSQL。当地的)建立统一网络(karl@MYSQL.LOCAL).客户端插件通过UPN和密码获取TGT,通过TGT获取MySQL ST,通过ST认证到MySQL服务器。

    Windows内存缓存中的任何信息都被忽略;用户名和密码选项值优先。

  • 该命令包含UPN密码选项,但不包含MySQL用户名选项:

    Mysql——default-auth=authentication_kerberos_client——plugin-dir=路径/ /插件/目录中——密码

    客户端Kerberos身份验证插件使用登录的用户名作为MySQL用户名,并将该用户名和用户的MySQL帐户中的领域组合起来构造UPN。客户端插件通过UPN和密码获取TGT,通过TGT获取MySQL ST,通过ST认证到MySQL服务器。

  • 该命令不包含MySQL用户名或UPN密码选项:

    Mysql——default-auth=authentication_kerberos_client——plugin-dir=路径/ /插件/目录中

    客户端插件从Windows内存缓存中获取TGT,使用TGT获取MySQL ST,并使用ST对MySQL服务器进行身份验证。

    这种方法要求客户端主机是Windows Server Active Directory (AD)域的一部分。如果不是这样,请帮助MySQL客户端发现AD域的IP地址,手动输入AD服务器和域作为DNS服务器和前缀:

    1. 开始console.exe并选择网络与共享中心

    2. 从“网络和共享中心”窗口的侧边栏中选择更改适配器设置

    3. 在“网络连接”窗口中,右键单击要配置的网络或VPN连接并选择属性

    4. 网络单击,定位并单击互联网协议版本4 (TCP/IPv4),然后按属性

    5. 点击先进的在Internet协议版本4 (TCP/IPv4)属性对话框中。打开“高级TCP/IP设置”对话框。

    6. DNS选项卡,添加Active Directory服务器和域作为DNS服务器和前缀。

  • 该命令包含MySQL用户名选项,但不包含UPN密码选项:

    Mysql——default-auth=authentication_kerberos_client——plugin-dir=路径/ /插件/目录中——用户=卡尔

    客户端Kerberos身份验证插件将user-name选项指定的名称与登录的用户名进行比较。如果名称相同,则插件使用已登录的用户TGT进行身份验证。如果名称不一致,则身份验证失败。

Kerberos认证客户端配置参数
请注意

本章节仅适用于Linux操作系统的客户端主机,不适用于Windows操作系统的客户端主机。

如果在MySQL客户端应用程序调用时没有有效的票据授予票据(TGT)存在,应用程序本身可以获取并缓存TGT。如果在Kerberos身份验证过程中,客户机应用程序导致缓存TGT,则可以通过设置适当的配置参数,在不再需要TGT后销毁添加的任何这样的TGT。

authentication_kerberos_client客户端Kerberos插件读取本地/etc/krb5.conf文件。如果此文件丢失或无法访问,则会发生错误。假设文件是可访问的,它可以包含一个可选的(appdefaults)节提供插件使用的信息。将信息放在mysql部分内容。例如:

[appdefaults] mysql = {destroy_tickets = true}

中的这些参数,客户端插件可以识别mysql部分:

  • destroy_tickets值指示客户端插件在获取和使用TGT后是否销毁它。默认情况下,destroy_tickets,但可以设置为真正的以避免TGT重用。(此设置仅适用于客户端插件创建的tgt,而不适用于其他插件或MySQL外部创建的tgt。)

在客户端主机上,可以使用客户端keytab文件获取TGT和TS,而不需要提供密码。有关keytab文件的信息,请参见https://web.mit.edu/kerberos/krb5-latest/doc/basic/keytab_def.html

Kerberos认证调试

AUTHENTICATION_KERBEROS_CLIENT_LOG环境变量启用或禁用Kerberos身份验证的调试输出。

请注意

尽管客户端在名字里AUTHENTICATION_KERBEROS_CLIENT_LOG,相同的环境变量适用于服务器端插件和客户端插件。

在服务器端,允许的值是0(关闭)和1(打开)。日志消息被写入服务器错误日志,取决于服务器错误日志的详细级别。例如,如果使用基于优先级的日志过滤,则log_error_verbosity系统变量控制的冗长,如第5.4.2.5节“基于优先级的错误日志过滤(log_filter_internal)”

在客户端,允许的值从1到5,并写入标准错误输出。下表显示了每个日志级别值的含义。

日志级别 意义
1或未设置 没有日志
2 错误消息
3. 错误和警告消息
4 错误、警告和信息消息
5 错误、警告、信息和调试消息