MySQL 8.2.0 GA


MySQL 新的进化版 8.2.0 于 2023 年 10 月 25 日发行,该版本的一些主要变化包括:

审计日志

  • 添加了新的“audit_log_filter_uninstall.sql”脚本,简化删除“MySQL Enterprise Audit”的过程。认证 * “mysql_native_password”插件已弃用,用户可以在服务器启动时将其禁用。如果服务器端“mysql_native_password”认证方法被禁用,使用该方法的旧的客户端插件将无法连接服务器,并在错误日志中写入“Access denied”消息。

  • MySQL 企业版现在支持MySQL服务器使用智能卡、安全设备等方法进行身份验证。该身份验证方法基于FIDO 和 FIDO2 标准。它使用服务器端的“authentication_webauthn”和客户端的“authentication_webauthn_client”实现C API。

  • 客户端库现在支持使用查询预处理语句的属性,并引入一个新的 C API声明函数“mysql_stmt_bind_named_param()”,用以替换现已弃用的“mysql_stmt_bind_param()”函数。与 “mysql_stmt_bind_param() ”不同,“mysql_stmt_bind_named_param()” 允许绑定预处理语句的未命名和命名参数。

  • mysql_ssl_set() C API 函数已弃用,并且在未来的 MySQL 版本中删除。与其等效的函数为“mysql_options()” TLS 选项。

弃用和删除

  • 兼容性的变化:“WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS()” SQL 函数,在 MySQL 8.0 中已弃用,现已被删除。用户可以使用“WAIT_FOR_EXECUTED_GTID_SET()”替代。

  • 复制:“binlog_transaction_dependency_tracking”服务器系统变量现已弃用,并将在 MySQL 的未来版本中删除。设置或检索该变量的值会触发警告。

  • “expire_logs_days”服务器系统变量,在 MySQL 8.0 中已弃用,现已删除。用户可以使用“binlog_expire_logs_seconds”替代。

  • 在 MySQL 8.0 中已弃用的服务器启动选项“--abort-slave-event-count”和“--disconnect-slave-event-count”,现已删除。

  • 服务器系统变量“old”和“new”现在已弃用,将在 MySQL 的未来版本中删除。

  • “--character-set-client-handshake”服务器选项,现已弃用,并将在 MySQL 的未来版本中删除。

  • 使用字符 “%” 和 “_” 作为通配符,对数据库进行授权功能现已弃用,未来将删除通配符功能。另外,服务器将“%”视为“localhost”的同义词,检查权限时(即授予 'myuser'@'%' 的权限也予'myuser'@'localhost') 也从 MySQL 8.2.0开始被弃用,未来版本删除。

  • “INFORMATION_SCHEMA.PROCESSLIST”已弃用,未来版本删除。因此,使用该表实现的“SHOW PROCESSLIST”也已弃用。推荐使用Performance_schema。

  • SET_USER_ID 权限已弃用,未来版本删除。它现在已被这些新的权限替代: SET_ANY_DEFINER 用于创建定义者对象。 ALLOW_NONEXISTENT_DEFINER 用于孤立对象 保护。

  • “TLS_AES_128_CCM_8_SHA256”密码套件已弃用,未来版本删除。

防火墙

  • MySQL Enterprise Firewall 允许其内存缓存定期重新加载防火墙中存储的数据表。以往仅在服务器启动时或服务器端插件启动时重新加载缓存。新的“mysql_firewall_reload_interval_seconds”系统变量可以设置用于重新加载表数据的日程表。

  • MySQL Enterprise Firewall 以往仅能在mysql系统数据库中存储所需的表、函数和存储过程。新的 “mysql_firewall_database”服务器系统变量允许用户在服务器启动时,指定自定义的库。此外,新的脚本“uninstall_firewall.sql”简化了删除防火墙的工作。

SQL 语法

  • 复制:此版本继续发布与MySQL 复制相关功能中使用的术语 。MySQL 8.2 弃用了一些SQL 语句,包括 “RESET MASTER”(使用 “RESET BINARY LOGS AND GTIDS” 代替),“SHOW MASTER STATUS”(“使用 SHOW BINARY LOG STATUS”),“SHOW MASTER LOGS”(使用 “SHOW BINARY LOGS”)和 “PURGE MASTER LOGS”(使用“BINARY LOGS”)。

    此外,“DISABLE ON SLAVE” 选项在“CREATE EVENT” 和 “ALTER EVENT”上已弃用。相关变更包括以下内容:
    •  mysqldump 添加了一个选项 “--output-as-version”定义转储中使用的术语级别对于与副本和事件相关的声明,使得创建转储成为可能与以前版本的 MySQL 兼容,仅接受现已弃用的术语。此选项的有效值为 “SERVER”、 “BEFORE_8_0_23” 和 “BEFORE_8_2_0” 。默认是 “SERVER”,这会令 “mysqldump” 获取服务器版本并输出命令与该版本兼容。
    • “terminology_use_previous” 服务器系统变量添加了一个新值 “BEFORE_8_2_0”。
    • SLAVESIDE_DISABLED 现已弃用。
    • Com_show_master_status 系统状态变量重新命名为 “Com_show_binary_log_status”。以前的名称已弃用,但仍支持向后兼容性。
  • EXPLAIN 现在支持 “FOR SCHEMA” 或 “FOR DATABASE” 选项。该选项将假设语句已经已在选项指定的数据库中运行。

添加或更改的功能

  • 非兼容更改:升级绑定的 libfido2 v1.13.0 库。该libfido2版本需要 OpenSSL 1.1.1 或更高版本。

  • 重要更改:适用于支持绑定 OpenSSL 的平台,用于MySQL服务器链接的OpenSSL 库已更新至版本3.0.10。

  • 重要更改:添加了对 Debian 12、Fedora 39、 macOS 14 和 Ubuntu 23.10的支持。

  • mysqldump:添加了 “--ignore-views” 选项以跳过 生成的转储文件中的表视图。* mysqldump:添加了 “--init-command” 和 “--init-command-add” 选项以允许连接或重新连接MySQL后执行SQL语句。

  • mysql:添加了 “--init-command-add” 选项,该选项添加连接或重新连接到 MySQL 服务器后要执行的附加 SQL 语句。它类似于“--init”命令选项。

  • 添加了新的 “--no-login-paths” 命令行选项,禁止处理登录路径。已添加至每个具有 “--login-path” 选项的 MySQL 客户端。

以上内容是 8.2.0 版本的一个快速浏览,详细信息可访问 MySQL 官网 

稿源:https://mp.weixin.qq.com/s/1_HnviolGvbM8hPsZeMttQ


相關推薦

2024-01-19

MySQL 8.3.0 于 2024 年 1 月 16 日正式发行,该版本的一些主要变化包括: 企业版的数据屏蔽和脱敏功能中增加了在副本(次要成员)服务器的的内存中刷新数据的能力。可以通过“masking_dictionaries_flush()”函数进行手动刷新,也

2024-07-03

2024年7月1日,MySQL的创新版MySQL 9.0 GA。一些更新内容包括: “mysql_native_password”插件已经被删除,如果客户端软件不具备“CLIENT_PLUGIN_AUTH”能力将无法连接服务器。为了向后兼容,“mysql_native_password”在9.0版本的客户端上仍

2022-04-28

MySQL 的最新版本 8.0.29 于 2022 年 4 月 26 日正式发行(GA)。MySQL8.0 发布至今已经历 4 年(2018 年 4 月 19 日 GA),已经进入了标准生命周期的末期,如果你还在继续使用 MySQL 5.7 版本,甚至是 5.6 版本,现在应该认真考虑未来的数据

2023-04-20

MySQL 8.0.33 于 2023 年 4 月 18 日 GA,这可能是包含新功能、新特性的 8.0 的最后一个版本,之后的 MySQL 版本将会在发行方式上发生重大改变。 未来 MySQL 将发布 2 个版本,长期支持版和创新版。长期支持版的目标为稳定性,仅修

2024-05-01

MySQL的第一个长期支持版 8.4 GA,一些具体变更内容如下: 功能增加/更改 认证插件:默认情况下,“mysql_native_password”认证插件被禁用,如果用户需要兼容旧的应用程序,需要在启动MySQL服务器时,启用该插件 “--mysql-nat

2023-01-18

MySQL带来了它的最新维护版本8.0.32。这一个版本主要以错误修复为主,修改了102个Bug,并在一些功能上进行了调整。一些内容包括: 不带引号的标识符中的第一个字符如果使用美元符号“$”,服务器将发出警告,“ER_WARN_DEPR

2023-04-09

github.com/ccfos/nightingale   组件安装 夜莺安装依赖 mysql、redis,这两个组件都是开源软件,请大家自行安装,这里也提供一个小脚本来安装这2个组件,大家可以参考: # install mysql yum -y install mariadb* systemctl enable mariadb syst

2022-10-12

MySQL 8.0.31 现已正式发布,一些改进内容包括: 审计插件:审计插件的日志轮换函数audit_log_rotate(),简化了日志轮换的工作,用户无需手动更改日志名称,也无需设置audit_log_flush = ON。 组件服务:启用了新的组件服务,支持

2022-07-28

MySQL 8.0.30 现已正式发布。此版本在做了大量的修复的同时,也对一些功能进行了增强和改善。一些亮点内容如下: GIPK(Generated Invisible Primary Keys) 当开启GIPK模式后,可以允许没有显示定义主键的InnoDB表,自动生成不可见的主

2023-04-29

ot null comment 'event id' default 0; 组件安装 夜莺安装依赖 mysql、redis,这两个组件都是开源软件,请大家自行安装,这里也提供一个小脚本来安装这2个组件,大家可以参考: # install mysql yum -y install mariadb* systemctl enable mariadb sy

2023-04-16

地址:github.com/ccfos/nightingale 组件安装 夜莺安装依赖 mysql、redis,这两个组件都是开源软件,请大家自行安装,这里也提供一个小脚本来安装这2个组件,大家可以参考: # install mysql yum -y install mariadb* systemctl enable mariadb sy

2023-03-02

Vitess 是一个用于部署、扩展和管理大型 MySQL 实例集群的数据库解决方案。Vitess 集 MySQL 数据库的很多重要特性和 NoSQL 数据库的可扩展性于一体。它的架构设计使得用户可以像在物理机上一样在公有云或私有云架构中有效运行。

2023-07-01

Vitess 是一个用于部署、扩展和管理大型 MySQL 实例集群的数据库解决方案。Vitess 集 MySQL 数据库的很多重要特性和 NoSQL 数据库的可扩展性于一体。它的架构设计使得用户可以像在物理机上一样在公有云或私有云架构中有效运行。

2022-11-30

远程应用程序/资源的用户名/密码,并为外部服务(例如 MySQL、PostgreSQL、Apache Cassandra、Consul、AWS 等)提供凭证。 Spring Vault 3.0 重要变化: 基于 Java 17 且支持 Java 19 Spring Vault 3.0 使用 Java 17 作为最低支持版本。如果开发者