最近看到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 中增加了哪些功能:
Hash table optimization for set operations.
优化了关于集合操作EXCEPT
和intersect
的优化,可以通过优化器optimizer_switch
中hash_set_operations
参数控制是否启用这个功能MySQL Enterprise Audit
可通过脚本audit_log_filter_uninstall.sql
来简单移除MySQL企业版审计插件Pluggable authentication.
支持smart cards, security keys WebAuthn context
的设备认证方式MySQL Enterprise Firewall
企业防火墙增加了 通过mysql_firewall_reload_interval_seconds
参数设置定时加载数据库中表的配置到内存中。过去是只能在重启服务或者重新安装插件时候才能重新加载防火墙的参数;增加mysql_firewall_database
设置防火墙配置表的库EXPLAIN FOR SCHEMA
增加了EXPLAIN [options] FOR SCHEMA schema_name stmt
语法mysql_native_password
这个是之前已弃用的,现在不强制可以在启动时候进行禁止Replication: SQL_AFTER_GTIDS and MTA.
在开启复制并配合SQL_AFTER_GTIDS
使用时可以兼容multi-threaded applier.
功能。(过去在使用SQL_AFTER_GTIDS
该功能时会出现ER_MTS_FEATURE_IS_NOT_SUPPORTED,
报错并切回单线程的状态.Replication terminology backwards compatibility.
: 增加了mysqldump命令的--output-as-version
选项,可以从老版本中导出一个兼容MySQL8.2版本的备份出来
Features Deprecated in MySQL 8.2
这部分是介绍在MySQL8.2中弃用和未来可能会被移除的功能
Wildcard characters in database grants
在MySQL8.2 的数据库授权上,已经不建议使用通配符%
,_
进行授权了old and new (server system variables)
在MySQL8.2 及以后的创新版本中已经不支持使用old,new
的系统参数了。当读取到设置这个参数时就会发出警告--character-set-client-handshake
将--character-set-client-handshake
弃用binlog_transaction_dependency_tracking
系统参数binlog_transaction_dependency_tracking
在MySQL8.2 及以后版本将会被弃用。但目前没有计划替换此变量或其功能,预计稍后将在服务器内部进行替换。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 中已经移除的功能
WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS() function
这个函数在8.0 中已被弃用,在8.2中正式被移除;但是你可以使用WAIT_FOR_EXECUTED_GTID_SET()
函数expire_logs_days
参数在8.0 中被移除,可以使用binlog_expire_logs_seconds
替代--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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




