MYSQL 版本生命周期
mysql5.7已于2023.10月停止更新补丁了,对于存量5.6,5.7用户是时候考虑升级8.0还是迁移到其他国产数据库
MySQL EOL
MySQL Innovation and LTS releases
Mysql版本控制
MySQL 8.x 分为创新版和长期支持版本(LTS),8.1.x、8.2.x、8.3.x 都是创新版
每2年,一个次要版本就会被指定为长期支持版本,提供5年的首选支持和3年的扩展支持
不使用新功能、改进;只需修复错误和安全漏洞可以选择LTS,即当前的8.0.36
为什么要升级/迁移
可靠性增强:由异步到半同步到多数共识的GroupReplication,自动故障切换
性能增强:hash join对多表查询,返回记录多的性能远超NL join
功能增强:CTE窗口函数
维护成本低:引入mysql shell 便于管理,INSTANT DDL 降低变更成本
V5.6 | V5.7 | V8.0 | |
---|---|---|---|
复制同步 | 半同步after_commit | 增强半同步after_sync/MGR | MGR |
join type | NL JOIN | NL JOIN | NL JOIN/Hash join |
优化器 | ICP、MRR、BAK, Undo Log 从系统表空间分离,优化器跟踪optimizer_trace | sys schema,存储引擎改为InnoDB,子查询优化 IN 转换为JOIN查询 | 索引支持降序排序,支持隐藏索引,CTE, 函数索引 |
并行复制改善主从延迟 | DATABASE | LOGICAL_CLOCK MTS/COMMIT_ORDER | MTS/COMMIT_ORDER,WRITESET,WRITESET_SESSION |
online ddl | online ddl | 空间索引/重命名索引 online ddl | INSTANT DDL |
高可用 | 第三方MHA | MHA/orchestrator/不稳定MGR | MySQL innodb cluster/MySQL innodb ReplicaSet/MySQL innodb ClusterSet |