mysql 8介绍,MySQL 8.0 简介

MySQL 5.7 到 8.0,Oracle 官方跳跃了 Major Version 版本号,随之而来的就是在 MySQL 8.0 上做了许多重大更新,在往企业级数据库的路上大步前行,全新 Data Dictionary 设计,支持 Atomic DDL,全新的版本升级策略,安全和账号管理加强,InnoDB 功能增强等,目前小版本已经 release 到 8.0.16,新的功能仍然在持续推出。

MySQL 8.0 版本更新

1. 数据字典

MySQL 8.0 摒弃了 Server Layer 定义的 FRM 文件和其它非事务表,使用了一组 InnoDB 表来 保存数据字典,支持事务特性。

2. Atomic DDL

在 Data Dictionary 支持事务特性的基础上,8.0 增加了一个 DDL log 字典表,用来协调在

DDL 过程中,对数据字典,文件系统 和 事务系统的修改,做到原子性。

3. 升级

从 8.0.16 开始,对于系统表的修改,抛弃了 mysql_upgrade工具,使用在系统重启的时候,进 行升级。

4. 安全和账号管理

账号方面,从 8.0 开始,支持 role 对权限进行便捷管理,以及新增多个系统权限,分别对应新 增了 ROLE_EDGES,GLOBAL_GRANTS 两个系统表;mysql schema 下的涉及权限和用户相关的表 更改成 InnoDB 引擎,支持事务特性,保证了账号管理语句的原子性。

认证方面,caching_sha2_password 作为默认的认证 plugin,以提升安全,但要注意并不能和 8.0 之前的client进行兼容。

链路加密,如果编译了OpenSSL 1.1.1 及以上,MySQL 8.0 SSL 将支持到 TLSv1.3 版本。

系统账号,在 8.0.16 新增 SYSTEM_USER 权限,用于区分 系统账号还是普通账户,可以对用户 进行分类管理。

5. Auto increment 持久化

在 InnoDB 引擎中,新增了一个引擎私有的系统表 innodb_dynamic_metadata,自增值就保存 在这个表里,在对每张表进行修改 auto increment 值的时候,都使用 redo log 进行保护,在做

heckpoint 的时候,持久化到这个系统表中,保证下次重启后,auto increment 能够从持久化中恢 复出来,并且不受事务上下文回滚而影响。

6. 死锁检测

在高并发的情况下,InnoDB 引擎中对于事务锁的死锁检测,将是影响性能 scale 的重要因素,

7. 临时表

在 InnoDB 引擎中,用户创建的临时表将统一到 ibtmp 文件的临时表空间中; 对于系统运行过 程中产生内存临时表,8.0后启用了新的 TempTable 引擎,支持 blob 字段,功能上优于 memory ngine。

8. Lock

SELECT ... FOR SHARE 和 SELECT ... FOR UPDATE 新增了 NOWAIT 和SKIP LOCKED 语法,减少长时间和非必要的阻塞。

9. Instant add column

InnoDB 解决了长期困扰 DBA 的加字段要 copy 整张表数据的问题。现在可以快速的增加字段,只修改数据字典,而不用修改表中的记录本身。

10. 并行查询

11. Redo优化

Redo的写入一直是 InnoDB 高并发情况下的瓶颈,8.0 开始:

用户线程可以并发的copy redo 日志到 log buffer中

用户线程可以以更松散的方式把 dirty block 加入到脏块链表中

独立的写线程完成 redo 的持久化

✨12. Json加强

在Json上,8.0 增加了更多的功能性,详见 MySQL 8.0 的 document。

13. Partial update on lob

InnoDB 继续优化 partial update on lob data,对于仅仅修改很少字节的 lob 字段,能够大幅 减少 undo data,并提升效率。

✨14. 优化器和对象相关

1) 支持 invisible index,方便用户和 DBA 调试 statement。

2)descending indexes,提升降序扫描的效率。

3)Common table expressions,支持 with 语法完成。

4)Window functions,增加大量窗口函数

5)Regular expression,重新设计了正则表达式的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值