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

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

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


8.4.2 连接控制插件

原文:dev.mysql.com/doc/refman/8.0/en/connection-control.html

8.4.2.1 连接控制插件安装

8.4.2.2 连接控制系统和状态变量

MySQL 服务器包含一个插件库,使管理员能够在一定数量的连续失败尝试之后,向连接尝试的服务器响应引入逐渐增加的延迟。这种能力提供了一个减缓措施,可以减缓针对 MySQL 用户账户的暴力攻击。插件库包含两个插件:

  • CONNECTION_CONTROL 检查传入的连接尝试,并根据需要向服务器响应添加延迟。该插件还公开了系统变量,使其操作可以配置,并提供了一个状态变量,提供基本的监控信息。
    CONNECTION_CONTROL 插件使用审计插件接口(参见 编写审计插件)。为了收集信息,它订阅了 MYSQL_AUDIT_CONNECTION_CLASSMASK 事件类,并处理 MYSQL_AUDIT_CONNECTION_CONNECTMYSQL_AUDIT_CONNECTION_CHANGE_USER 子事件,以检查服务器是否应在响应连接尝试之前引入延迟。
  • CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS 实现了一个 INFORMATION_SCHEMA 表,公开了有关失败连接尝试的更详细的监控信息。

以下各节提供有关连接控制插件安装和配置的信息。有关 CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS 表的信息,请参阅 第 28.6.2 节,“INFORMATION_SCHEMA CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS 表”。

原文:dev.mysql.com/doc/refman/8.0/en/connection-control-installation.html

8.4.2.1 连接控制插件安装

本节描述了如何安装连接控制插件CONNECTION_CONTROLCONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS。有关安装插件的一般信息,请参见第 7.6.1 节,“安装和卸载插件”。

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

插件库文件的基本名称是connection_control。文件名后缀因平台而异(例如,对于 Unix 和类 Unix 系统,为.so,对于 Windows 为.dll)。

要在服务器启动时加载插件,请使用--plugin-load-add选项命名包含它们的库文件。使用此插件加载方法,选项必须在每次服务器启动时给出。例如,将以下行放入服务器的my.cnf文件中,根据需要调整您平台的.so后缀:

[mysqld]
plugin-load-add=connection_control.so

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

或者,要在运行时加载插件,请使用以下语句,根据需要调整您平台的.so后缀:

INSTALL PLUGIN CONNECTION_CONTROL
  SONAME 'connection_control.so';
INSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS
  SONAME 'connection_control.so';

INSTALL PLUGIN立即加载插件,并在mysql.plugins系统表中注册它,以使服务器在每次后续正常启动时加载它,而无需--plugin-load-add

要验证插件安装,请检查信息模式PLUGINS表,或使用SHOW PLUGINS语句(参见第 7.6.2 节,“获取服务器插件信息”)。例如:

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'connection%';
+------------------------------------------+---------------+
| PLUGIN_NAME                              | PLUGIN_STATUS |
+------------------------------------------+---------------+
| CONNECTION_CONTROL                       | ACTIVE        |
| CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS | ACTIVE        |
+------------------------------------------+---------------+

如果插件初始化失败,请检查服务器错误日志以获取诊断信息。

如果插件之前已经使用INSTALL PLUGIN注册过,或者使用--plugin-load-add加载过,您可以在服务器启动时使用--connection-control--connection-control-failed-login-attempts选项来控制插件的激活。例如,要在启动时加载插件并防止它们在运行时被移除,请使用以下选项:

[mysqld]
plugin-load-add=connection_control.so
connection-control=FORCE_PLUS_PERMANENT
connection-control-failed-login-attempts=FORCE_PLUS_PERMANENT

如果希望防止服务器在没有给定连接控制插件的情况下运行,请使用 FORCEFORCE_PLUS_PERMANENT 的选项值,以强制服务器启动失败,如果插件未成功初始化。

注意

可以安装一个插件而不安装另一个插件,但必须同时安装两个插件才能实现完整的连接控制功能。特别是,仅安装 CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS 插件几乎没有用处,因为没有 CONNECTION_CONTROL 插件提供数据来填充 CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS 表,该表始终为空。

  • 连接延迟配置
  • 连接失败评估
  • 连接失败监控
连接延迟配置

要启用其操作配置,CONNECTION_CONTROL 插件公开了这些系统变量:

  • connection_control_failed_connections_threshold: 在服务器在为账户添加延迟以进行后续连接尝试之前允许的连续失败连接尝试次数。要禁用失败连接计数,请将 connection_control_failed_connections_threshold 设置为零。
  • connection_control_min_connection_delay: 连接失败的最小延迟时间(毫秒)超过阈值。
  • connection_control_max_connection_delay: 连接失败的最大延迟时间(毫秒)超过阈值。

如果 connection_control_failed_connections_threshold 不为零,则启用了失败连接计数,并具有以下属性:

  • 延迟为零,直到connection_control_failed_connections_threshold 连续失败的连接尝试。
  • 之后,服务器会为后续连续尝试添加递增延迟,直到成功连接发生。初始未调整的延迟从 1000 毫秒(1 秒)开始,每次尝试增加 1000 毫秒。也就是说,一旦账户激活延迟,后续失败尝试的未调整延迟为 1000 毫秒、2000 毫秒、3000 毫秒等。
  • 客户端实际经历的延迟是未调整的延迟,调整后的值在connection_control_min_connection_delayconnection_control_max_connection_delay系统变量的值范围内。
  • 一旦账户激活延迟,随后该账户的第一次成功连接也会经历延迟,但是对于后续连接,失败计数会被重置。

例如,使用默认的connection_control_failed_connections_threshold值为 3,账户的前三次连续连接尝试失败不会有延迟。账户在第四次及后续失败连接中实际调整的延迟取决于connection_control_min_connection_delayconnection_control_max_connection_delay的值:

  • 如果connection_control_min_connection_delayconnection_control_max_connection_delay分别为 1000 和 20000,调整后的延迟与未调整的延迟相同,最多不超过 20000 毫秒。第四次及后续失败连接延迟为 1000 毫秒、2000 毫秒、3000 毫秒等。
  • 如果connection_control_min_connection_delayconnection_control_max_connection_delay分别为 1500 和 20000,第四次及后续失败连接的调整延迟为 1500 毫秒、2000 毫秒、3000 毫秒等,最多不超过 20000 毫秒。
  • 如果 connection_control_min_connection_delayconnection_control_max_connection_delay 分别为 2000 和 3000,则第四次及后续失败连接的调整延迟为 2000 毫秒、2000 毫秒和 3000 毫秒,所有后续失败连接也将延迟 3000 毫秒。

您可以在服务器启动或运行时设置CONNECTION_CONTROL系统变量。假设您希望在服务器开始延迟其响应之前允许四次连续失败的连接尝试,最小延迟为 2000 毫秒。要在服务器启动时设置相关变量,请将以下行放入服务器的my.cnf文件中:

[mysqld]
plugin-load-add=connection_control.so
connection_control_failed_connections_threshold=4
connection_control_min_connection_delay=2000

要在运行时设置并持久化变量,请使用以下语句:

SET PERSIST connection_control_failed_connections_threshold = 4;
SET PERSIST connection_control_min_connection_delay = 2000;

SET PERSIST 为正在运行的 MySQL 实例设置一个值。它还保存该值,导致其在后续服务器重新启动时保留。要更改正在运行的 MySQL 实例的值,而不使其在后续重新启动时保留,使用GLOBAL关键字而不是PERSIST。参见 Section 15.7.6.1, “变量赋值的 SET 语法”。

connection_control_min_connection_delayconnection_control_max_connection_delay 系统变量的最小值和最大值均为 1000 和 2147483647。此外,每个变量的允许值范围还取决于另一个变量的当前值:

  • connection_control_min_connection_delay 不能设置为大于当前值connection_control_max_connection_delay
  • connection_control_max_connection_delay 不能设置为小于当前值connection_control_min_connection_delay

因此,为了对某些配置所需的更改进行设置,您可能需要按特定顺序设置变量。假设当前的最小延迟和最大延迟分别为 1000 和 2000,并且您想将它们设置为 3000 和 5000。您不能首先将connection_control_min_connection_delay设置为 3000,因为这大于当前的connection_control_max_connection_delay值 2000。相反,先将connection_control_max_connection_delay设置为 5000,然后将connection_control_min_connection_delay设置为 3000。

连接失败评估

当安装了CONNECTION_CONTROL插件时,它会检查连接尝试并跟踪它们是失败还是成功。为此,连接失败尝试是指客户端用户和主机匹配已知的 MySQL 账户,但提供的凭据不正确,或者不匹配任何已知账户。

失败连接计数基于每次连接尝试的用户/主机组合。适用用户名称和主机名称的确定考虑了代理,并按以下方式进行:

  • 如果客户端用户代理另一个用户,则失败连接计数的账户是代理用户,而不是被代理用户。例如,如果external_user@example.com代理了proxy_user@example.com,连接计数使用代理用户external_user@example.com,而不是被代理用户proxy_user@example.comexternal_user@example.comproxy_user@example.com必须在mysql.user系统表中有有效条目,并且它们之间必须在mysql.proxies_priv系统表中定义代理关系(参见第 8.2.19 节,“代理用户”)。
  • 如果客户端用户没有代理另一个用户,但匹配了一个mysql.user条目,则计数使用与该条目对应的CURRENT_USER()值。例如,如果用户user1从主机host1.example.com连接匹配了user1@host1.example.com条目,则计数使用user1@host1.example.com。如果用户匹配了user1@%.example.comuser1@%.comuser1@%条目,计数分别使用user1@%.example.comuser1@%.comuser1@%

对于刚才描述的情况,连接尝试匹配了一些mysql.user条目,请求成功或失败取决于客户端是否提供了正确的身份验证凭据。例如,如果客户端提供了错误的密码,连接尝试将失败。

如果连接尝试与任何 mysql.user 条目不匹配,则尝试失败。在这种情况下,没有 CURRENT_USER() 值可用,连接失败计数使用客户端提供的用户名和服务器确定的客户端主机。例如,如果客户端尝试作为用户 user2 从主机 host2.example.com 连接,则用户名称部分在客户端请求中可用,服务器确定主机信息。用于计数的用户/主机组合是 user2@host2.example.com

注意

服务器维护关于哪些客户端主机可能连接到服务器的信息(基本上是 mysql.user 条目的主机值的并集)。如果客户端尝试从任何其他主机连接,服务器在连接设置的早期阶段拒绝尝试:

ERROR 1130 (HY000): Host '*host_name*' is not
allowed to connect to this MySQL server

因为这种类型的拒绝发生得如此早,CONNECTION_CONTROL 看不到它,并且不计数。

连接失败监控

要监视失败连接,请使用以下信息来源:

  • Connection_control_delay_generated 状态变量指示服务器在响应失败连接尝试时添加延迟的次数。这不包括在达到由 connection_control_failed_connections_threshold 系统变量定义的阈值之前发生的尝试。
  • INFORMATION_SCHEMA CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS 表提供了关于每个账户(用户/主机组合)连续失败连接尝试的当前数量的信息。这计算所有失败尝试,无论它们是否被延迟。

在运行时为 connection_control_failed_connections_threshold 赋值会产生以下效果:

  • 所有累积的失败连接计数器被重置为零。
  • Connection_control_delay_generated 状态变量被重置为零。
  • CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS 表变为空。

原文:dev.mysql.com/doc/refman/8.0/en/connection-control-variables.html

8.4.2.2 连接控制系统和状态变量

本节描述了CONNECTION_CONTROL插件提供的系统和状态变量,以便配置和监视其操作。

  • 连接控制系统变量
  • 连接控制状态变量
连接控制系统变量

如果安装了CONNECTION_CONTROL插件,则会公开这些系统变量:

  • connection_control_failed_connections_threshold
命令行格式 --connection-control-failed-connections-threshold=#
系统变量 connection_control_failed_connections_threshold
范围 全局
动态
SET_VAR提示适用
类型 整数
默认值 3
最小值 0
最大值 2147483647
  • 在服务器在向帐户添加延迟以进行后续连接尝试之前允许的连续失败连接尝试次数:
  • 如果变量具有非零值*N,则服务器从连续失败尝试N*+1 开始添加延迟。如果帐户已达到连接响应被延迟的点,则下一个成功连接也会延迟。
  • 将此变量设置为零会禁用失败连接计数。在这种情况下,服务器永远不会添加延迟。
  • 有关connection_control_failed_connections_threshold与其他连接控制系统和状态变量的交互信息,请参见第 8.4.2.1 节,“连接控制插件安装”。
  • connection_control_max_connection_delay
命令行格式 --connection-control-max-connection-delay=#
系统变量 connection_control_max_connection_delay
范围 全局
动态
SET_VAR提示适用
类型 整数
默认值 2147483647
最小值 1000
最大值 2147483647
单位 毫秒
  • 如果connection_control_failed_connections_threshold大于零,则服务器响应失败连接尝试的最大延迟(以毫秒为单位)。
    有关connection_control_max_connection_delay如何与其他连接控制系统和状态变量交互的信息,请参见第 8.4.2.1 节,“连接控制插件安装”。
  • connection_control_min_connection_delay
命令行格式 --connection-control-min-connection-delay=#
系统变量 connection_control_min_connection_delay
范围 全局
动态
SET_VAR提示适用
类型 整数
默认值 1000
最小值 1000
最大值 2147483647
单位 毫秒
  • 服务器响应失败连接尝试的最小延迟(以毫秒为单位),如果connection_control_failed_connections_threshold大于零。
    有关connection_control_min_connection_delay如何与其他连接控制系统和状态变量交互的信息,请参见第 8.4.2.1 节,“连接控制插件安装”。
连接控制状态变量

如果安装了CONNECTION_CONTROL插件,则会公开此状态变量:

  • Connection_control_delay_generated
    服务器在响应失败连接尝试时添加延迟的次数。这不包括在达到由connection_control_failed_connections_threshold系统变量定义的阈值之前发生的尝试。
    这个变量提供了一个简单的计数器。要获取更详细的连接控制监控信息,请查看INFORMATION_SCHEMA CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS 表;参见 Section 28.6.2, “The INFORMATION_SCHEMA CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS Table”。
    在运行时为connection_control_failed_connections_threshold赋值会将Connection_control_delay_generated重置为零。

8.4.3 密码验证组件

原文:dev.mysql.com/doc/refman/8.0/en/validate-password.html

8.4.3.1 密码验证组件的安装和卸载

8.4.3.2 密码验证选项和变量

8.4.3.3 过渡到密码验证组件

validate_password 组件通过要求帐户密码并启用潜在密码的强度测试来提高安全性。该组件公开了系统变量,使您能够配置密码策略,并公开了用于组件监视的状态变量。

注意

在 MySQL 8.0 中,validate_password 插件被重新实现为 validate_password 组件。(有关组件的一般信息,请参见 第 7.5 节,“MySQL 组件”。)以下说明描述了如何使用组件,而不是插件。有关使用 validate_password 插件形式的说明,请参见 密码验证插件,在 MySQL 5.7 参考手册 中。

validate_password 插件形式仍然可用,但已被弃用;预计将在将来的 MySQL 版本中删除。使用插件的 MySQL 安装应该过渡到使用组件。请参见 第 8.4.3.3 节,“过渡到密码验证组件”。

validate_password 组件实现了以下功能:

  • 对于将明文值作为密码分配的 SQL 语句,validate_password 会根据当前密码策略检查密码,并在密码弱时拒绝密码(该语句返回一个 ER_NOT_VALID_PASSWORD 错误)。这适用于 ALTER USERCREATE USERSET PASSWORD 语句。
  • 对于 CREATE USER 语句,validate_password 要求提供密码,并且该密码必须符合密码策略。即使帐户最初被锁定,解锁帐户后也需要满足策略要求的密码,否则稍后访问该帐户将不需要密码。
  • validate_password 实现了一个 VALIDATE_PASSWORD_STRENGTH() SQL 函数,用于评估潜在密码的强度。该函数接受一个密码参数,并返回一个从 0(弱)到 100(强)的整数。

注意

对于分配或修改帐户密码的语句(ALTER USERCREATE USERSET PASSWORD),这里描述的validate_password功能仅适用于使用将凭据内部存储到  MySQL 的身份验证插件的帐户。对于使用针对 MySQL  外部凭据系统执行身份验证的插件的帐户,密码管理也必须在该系统外部处理。有关内部凭据存储的更多信息,请参阅 Section 8.2.15,  “Password Management”。

前面的限制不适用于使用VALIDATE_PASSWORD_STRENGTH()函数,因为它不直接影响帐户。

例子:

  • validate_password在以下语句中检查明文密码。根据要求密码至少为 8 个字符长的默认密码策略,密码较弱,该语句将产生错误:
mysql> ALTER USER USER() IDENTIFIED BY 'abc';
ERROR 1819 (HY000): Your password does not satisfy the current
policy requirements
  • 由于原始密码值不可用进行检查,指定为散列值的密码不会被检查:
mysql> ALTER USER 'jeffrey'@'localhost'
       IDENTIFIED WITH mysql_native_password
       AS '*0D3CED9BEC10A777AEC23CCC353A8C08A633045E';
Query OK, 0 rows affected (0.01 sec)
  • 即使帐户最初被锁定,由于没有包含符合当前密码策略的密码,此帐户创建语句将失败:
mysql> CREATE USER 'juanita'@'localhost' ACCOUNT LOCK;
ERROR 1819 (HY000): Your password does not satisfy the current
policy requirements
  • 要检查密码,请使用VALIDATE_PASSWORD_STRENGTH()函数:
mysql> SELECT VALIDATE_PASSWORD_STRENGTH('weak');
+------------------------------------+
| VALIDATE_PASSWORD_STRENGTH('weak') |
+------------------------------------+
|                                 25 |
+------------------------------------+
mysql> SELECT VALIDATE_PASSWORD_STRENGTH('lessweak$_@123');
+----------------------------------------------+
| VALIDATE_PASSWORD_STRENGTH('lessweak$_@123') |
+----------------------------------------------+
|                                           50 |
+----------------------------------------------+
mysql> SELECT VALIDATE_PASSWORD_STRENGTH('N0Tweak$_@123!');
+----------------------------------------------+
| VALIDATE_PASSWORD_STRENGTH('N0Tweak$_@123!') |
+----------------------------------------------+
|                                          100 |
+----------------------------------------------+

要配置密码检查,请修改名称形式为validate_password.*xxx*的系统变量;这些是控制密码策略的参数。请参阅 Section 8.4.3.2, “Password Validation Options and Variables”。

如果未安装validate_password,则validate_password.*xxx*系统变量不可用,语句中的密码不会被检查,VALIDATE_PASSWORD_STRENGTH()函数始终返回 0。例如,如果没有安装插件,帐户可以被分配少于 8 个字符的密码,甚至可以没有密码。

假设已安装validate_password,它实现了三个级别的密码检查:LOWMEDIUMSTRONG。默认为MEDIUM;要更改此设置,请修改validate_password.policy的值。这些策略实施越来越严格的密码测试。以下描述是针对默认参数值的,可以通过更改相应的系统变量来修改这些值。

  • LOW策略仅测试密码长度。密码必须至少为 8 个字符长。要更改此长度,请修改validate_password.length
  • MEDIUM策略添加了密码必须包含至少 1 个数字字符、1 个小写字符、1 个大写字符和 1 个特殊(非字母数字)字符的条件。要更改这些值,请修改validate_password.number_countvalidate_password.mixed_case_countvalidate_password.special_char_count
  • STRONG策略添加了一个条件,即长度为 4 或更长的密码子串不得与字典文件中的单词匹配(如果已指定)。要指定字典文件,请修改validate_password.dictionary_file

此外,validate_password支持拒绝与当前会话的有效用户帐户的用户名部分匹配的密码,无论是正向还是反向。为了控制这种能力,validate_password暴露了一个validate_password.check_user_name系统变量,默认情况下已启用。

原文:dev.mysql.com/doc/refman/8.0/en/validate-password-installation.html

8.4.3.1 密码验证组件的安装和卸载

本节描述了如何安装和卸载 validate_password 密码验证组件。有关安装和卸载组件的一般信息,请参阅第 7.5 节,“MySQL 组件”。

注意

如果使用MySQL Yum 仓库MySQL SLES 仓库或由 Oracle 提供的 RPM 软件包安装 MySQL 8.0,则在首次启动 MySQL 服务器后,默认启用 validate_password 组件。

从使用 Yum 或 RPM 软件包升级到 MySQL 8.0 时,validate_password 插件会保留在原位。要从 validate_password 插件过渡到 validate_password 组件,请参阅第 8.4.3.3 节,“过渡到密码验证组件”。

要使组件库文件可被服务器使用,必须将其放置在 MySQL 插件目录中(由plugin_dir系统变量命名的目录)。如有必要,在服务器启动时通过设置plugin_dir的值来配置插件目录位置。

要安装 validate_password 组件,请使用以下语句:

INSTALL COMPONENT 'file://component_validate_password';

组件安装是一次性操作,不需要每次服务器启动都执行。INSTALL COMPONENT加载组件,并在 mysql.component 系统表中注册它,以便在随后的服务器启动期间加载它。

要卸载 validate_password 组件,请使用以下语句:

UNINSTALL COMPONENT 'file://component_validate_password';

UNINSTALL COMPONENT卸载组件,并从 mysql.component 系统表中注销它,以使其在随后的服务器启动期间不加载。

原文:dev.mysql.com/doc/refman/8.0/en/validate-password-options-variables.html


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

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

热门文章

最新文章