暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL8.2新特性-译

天天李拜天DBA 2023-11-07
427

最近看到MySQL5.7 生命周期到期的事,那意味着这个版本的产品将完全停止支持和维护。后来就去看了看官网上5.7的最新版本是什么版本,突然发现了现在MySQL出了8.1 、8.2版本(在下载地址页面看到) 但截止今天查看文档版本选择时MySQL8.1又看不到了(前一阵子还看得到)

后来了解到是MySQL的版本升级模型发生了改变

在MySQL5.7中 是进行小版本升级 即5.7.x ;  改变小版本号

在MySQL 8.x中发生了一些改变。MySQL推出了创新版(Innovation)和长期支持版(LTS,Long-Term Support)。即8.0.x的版本的版本中在8.0.34+ 以后仅为错误修复版本。而如果出现MySQL 8.1/8.2 这种版本都视作为创新版本(Innovation) 当出现某个版本为 MySQL 8.x LTS 版本就是长期支持版

如果想详细了解升级模型可以阅读技术译文 | 一文了解 MySQL 全新版本模型

我这里主要想写的是翻译下文档中MySQL8.2 版本的改变内容

Features Added in MySQL 8.2

MySQL8.2 中增加了哪些功能:

  1. Hash table optimization for set operations.
    优化了关于集合操作EXCEPT
    intersect
    的优化,可以通过优化器optimizer_switch
    hash_set_operations
    参数控制是否启用这个功能
  2. MySQL Enterprise Audit
    可通过脚本audit_log_filter_uninstall.sql
    来简单移除MySQL企业版审计插件
  3. Pluggable authentication.
    支持  smart cards, security keys WebAuthn context
    的设备认证方式
  4. MySQL Enterprise Firewall
     企业防火墙增加了 通过mysql_firewall_reload_interval_seconds
    参数设置定时加载数据库中表的配置到内存中。过去是只能在重启服务或者重新安装插件时候才能重新加载防火墙的参数;增加mysql_firewall_database
    设置防火墙配置表的库
  5. EXPLAIN FOR SCHEMA
    增加了  EXPLAIN [options] FOR SCHEMA schema_name stmt
    语法
  6. mysql_native_password
    这个是之前已弃用的,现在不强制可以在启动时候进行禁止
  7. Replication: SQL_AFTER_GTIDS and MTA.
    在开启复制并配合SQL_AFTER_GTIDS
    使用时可以兼容 multi-threaded applier.
    功能。(过去在使用SQL_AFTER_GTIDS
    该功能时会出现ER_MTS_FEATURE_IS_NOT_SUPPORTED,
    报错并切回单线程的状态.
  8. Replication terminology backwards compatibility.
    : 增加了mysqldump命令的 --output-as-version
    选项,可以从老版本中导出一个兼容MySQL8.2版本的备份出来

Features Deprecated in MySQL 8.2

这部分是介绍在MySQL8.2中弃用和未来可能会被移除的功能

  1. Wildcard characters in database grants
    在MySQL8.2 的数据库授权上,已经不建议使用通配符 %
    ,_
    进行授权了
  2. old and new (server system variables)
     在MySQL8.2 及以后的创新版本中已经不支持使用 old,new
    的系统参数了。当读取到设置这个参数时就会发出警告
  3. --character-set-client-handshake
     将--character-set-client-handshake
    弃用
  4. binlog_transaction_dependency_tracking
    系统参数binlog_transaction_dependency_tracking
    在MySQL8.2 及以后版本将会被弃用。但目前没有计划替换此变量或其功能,预计稍后将在服务器内部进行替换。
  5. Replication SQL
    在MySQL8.2 中进行了修改替换如下
RESET MASTER: Use RESET BINARY LOGS AND GTIDS instead.

SHOW MASTER STATUS: Use SHOW BINARY LOG STATUS instead.

SHOW MASTER LOGS: Use SHOW BINARY LOGS instead.

PURGE MASTER LOGS: Use PURGE BINARY LOGS instead.

6. SET_USER_ID privilege.
SET_USER_ID特权已被弃用,并将在MySQL的未来版本中删除。当使用GRANT授予SET_USER_ID时,SQL警告会通知您弃用状态。它现在被这些新的特权所取代:SET_ANY_DEFINER
ALLOW_NONEXISTENT_DEFINER

Features Removed in MySQL 8.2

这部分是在MySQL8.2 中已经移除的功能

  1. WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS() function
    这个函数在8.0 中已被弃用,在8.2中正式被移除;但是你可以使用 WAIT_FOR_EXECUTED_GTID_SET()
    函数
  2. expire_logs_days
    参数在8.0 中被移除,可以使用binlog_expire_logs_seconds
    替代
  3. --abort-slave-event-count and --disconnect-slave-event-count
    被移除



参考:


https://dev.mysql.com/doc/refman/8.2/en/added-deprecated-removed.html





文章转载自天天李拜天DBA,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论