MySQL 8.0 技术详解

1. 数据字典设计 MySQL 8.0采用InnoDB表存储数据字典,支持事务特性,摒弃了FRM文件和其他非事务表。2. Atomic DDL 新增DDL日志字典表,确保DDL过程中对数据字典、文件系统和事务系统的修改具有事务的原子性。3. 升级策略 从8.0.16版本开始,系统表修改不再依赖mysql_upgrade工具,通过系统重启时的升级...
MySQL 8.0 技术详解
MySQL 8.0的技术要点主要包括以下几个方面:
1. 数据字典设计 MySQL 8.0采用InnoDB表存储数据字典,支持事务特性,摒弃了FRM文件和其他非事务表。
2. Atomic DDL 新增DDL日志字典表,确保DDL过程中对数据字典、文件系统和事务系统的修改具有事务的原子性。
3. 升级策略 从8.0.16版本开始,系统表修改不再依赖mysql_upgrade工具,通过系统重启时的升级操作实现。
4. 安全与账号管理 账号管理:支持role权限管理,新增多个系统权限和表,确保账号管理语句的原子性。 认证方式:使用caching_sha2_password插件提升安全性,但需注意与8.0之前客户端的兼容性问题。 系统账号:新增SYSTEM_USER权限,区分系统账号与普通账户,便于用户分类管理。
5. Auto increment持久化 在InnoDB引擎中,新增innodb_dynamic_metadata系统表用于持久化自增值,确保重启后自增值能够恢复。
6. 死锁检测优化 提供innodb_deadlock_detect参数,允许或禁止引擎的死锁检测,有助于在高并发场景下提升并发能力。
7. 临时表管理 用户创建的临时表统一管理至ibtmp文件的临时表空间,系统产生的内存临时表使用新的TempTable引擎,性能优于memory引擎。
8. Lock优化 新增NOWAIT和SKIP LOCKED语法,减少长时间和不必要的阻塞。
9. Instant add column 快速添加字段,只修改数据字典,解决了加字段需要复制整张表数据的问题。
10. 并行查询支持 InnoDB引擎在clustered index上支持并行查询,通过innodb_parallel_read_threads参数控制session内的并行度。
11. Redo优化 在高并发情况下,优化Redo的写入过程,提高性能。
12. Json功能增强 新增更多Json功能,丰富Json操作。
AliSQL 8.0的额外改进 诊断工具:新增Top SQL性能诊断、表和索引统计、InnoDB IO统计等工具。 Sequence对象支持:方便高效获取单调唯一值。 大文件异步删除机制:优化大文件删除过程,提供异步删除数据文件的机制。 隐含主键:针对未建立主键的表,默认添加隐含主键,加速slave端SQL应用。 事务超时机制:新增kill_idle_transaction_timeout参数,对超时事务进行清理。 Slow log旋转:优化慢日志收集过程,减少对用户实例的影响和可能的阻塞。 审计日志设计:重新设计审计日志模块,提供四种刷新策略。 SSL安全:静态编译OpenSSL 1.0版本,支持到TLSv1.2,增强SSL链接安全性。 性能优化:针对semi sync和MDL进行性能优化,提升semi sync性能,减少MDL锁阻塞可能性。
这些改进和新增功能共同提升了MySQL 8.0和AliSQL 8.0的性能、安全性和稳定性,更好地满足了企业级数据库的需求。
2025-03-12
mengvlog 阅读 9 次 更新于 2025-07-19 19:15:16 我来答关注问题0
檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部