MySQL 8.0 技术详解

 admin   2022-09-27 14:20   30 人阅读  0 条评论

MySQL 8.0 简介
MySQL 5.7 到 8.0,Oracle 飞跃了 Major Version 版本号,随之而来的即是在 MySQL 8.0 上做了许多重-大更新,在往企业级数据库的路上大步前行,全新 Data Dictionary 计划,支持 Atomic DDL,全新的版本升级计谋,平安和账号治理增强,InnoDB 功效增强等,现在小版本以前 release 到 8.0.16,新的功效依然在连续推出拉。
RDS MySQL 8.0 成品是阿里云推出的 MySQL 排列云成品之一,运用一切兼容 MySQL 8.0 的阿 里云 AliSQL 8.0 分支,除在 MySQL 8.0 推出的全新功效外,AliSQL 积淀了许多在 Alibaba 公司电商业务和云上几十万客户在运用 MySQL 历程中遇到的疑和需要,以此来加固AliSQL, 提升 AliSQL 的功效和稳固性拉。
下面分-别对 MySQL 8.0 和 AliSQL 8.0 相关的版本和功效做简练的推荐:
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 的主要原因,
8.0 后供应了一位参数innodb_deadlock_detect

sysvar_innodb_deadlock_detect,用来掀开或者者封锁引擎的死锁检测,在业 务能够或者者清晰相关危害的情形下,封锁死锁检测,能大幅提升并发才气拉。
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. 并行盘
InnoDB 现在支持在 clustered index 上举行并行盘,供应
innodb_parallel_read_threads,

sysvar_innodb_parallel_read_threads,参数掌控session内的并行度拉。
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,重新计划了正则讲明式的支持拉。
AliSQL 8.0 功效推荐
除 MySQL 8.0 的特征之外,AliSQL 8.0 在新功效,功效提升,稳固性保证,可诊断性上 做了大量的改良:
1. 诊断
Top SQL:
AliSQL 在 statement 级别上,增添了新的功效诊断指-标,便利更快更准确的量化 SQL 的开支:
功效以下所示:
表和索引统计
新增表和索引级别的统计:
InnoDB IO 统计
2. Sequence
AliSQL 8.0 增添对 Sequence 对-象的支持,便利和高效的获取单纯惟一值:
3. 大文件异步删除
InnoDB 大文件删除带来稳固性开支,因此 AliSQL 8.0 供应了异步删数据文件的机制:
参数设置:
展现暂时文件列表:
4. 隐含主键
AliSQL 针对用户有无建 PK 的表,默许增添一位隐含主键,以加速 slave 端的 SQL apply拉。 检察办法:
5. 事情超时
AliSQL 新增
kill_idle_transaction_timeout 参数,以便对超时的事情联接举行 kill,预防事情长时刻未提交带来的体制危害拉。
6. Rotate slow log
AliSQL 8.0 针对 slow log 搜集历程中,对用户实例的影响,和truncate带来的阻碍应该,提 供了rotate slow log table的功效,影响更小,更快速,并保证零数据丢弃的搜集办法拉。
7. 审计日志
AliSQL 8.0 重新计划的 audit log 模块,供应了四种更改计谋,分-别是:
供应适合区别领域的人务形式的 audit log 设置供用户选择拉。
8. 平安特征
AliSQL 针对 SSL 链路,静态编译了OpenSSL 1.0 版本,现在支持到 TLSv1.2 版本拉。
9. 优化
AliSQL 针对 semi sync 和 MDL 举行了功效优化,提升了 semi sync 的功效,大幅减少了 MDL 锁阻碍的应该性拉。
检察成品云数据库RDS MySQL 版
/product/rds/mysql
一图迅速领会公布焦点.场景.优势.接入.更多!

点击领会“阿里云新品公布会频道阿”

立刻定阅阿里云新品公布会·周刊
/articles/703813
做者云攻略小攻


我只想知道什么时刻mysql也有with as语法


本文地址:http://www.guopangzi.net/post/5735.html
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?