失效链接处理 |
MySQL 8.0的新特性简述 PDF 下载
本站整理下载:
相关截图:
主要内容:
MySQL 8.0 的新特性简述 和 MySQL 5.7 相比,MySQL 8.0 的新特性主要包括以下几个方面。 1.数据字典 MySQL 8.0 包含一个事务数据字典,用于存储有关数据库对象的信息。在 MySQL 8.0 之前的 版本中,字典数据存储在元数据文件和非事务表中。 2.原子数据定义语句 MySQL 8.0 支持原子数据定义语言(DDL)语句。此功能称为原子 DDL。原子 DDL 语句将 与 DDL 操作关联的数据字典更新,存储引擎操作和二进制日志写入组合到单个原子事务中。 即使服务器在操作期间暂停,也会提交事务,并将适用的更改保留到数据字典、存储引擎和 二进制日志,或者回滚事务。通过在 MySQL 8.0 中引入 MySQL 数据字典,可以实现原子 DDL。在早期的 MySQL 版本中,元数据存储在元数据文件、非事务性表和存储引擎特定的 字典中,需要中间提交。MySQL 数据字典提供的集中式事务元数据存储消除了这一障碍, 使得将 DDL 语句操作重组为原子事务成为可能。 3.安全和账户管理 MySQL 8.0 通过以下功能增强数据库的安全性,并在账户管理中实现更高的 DBA 灵活性。 MySQL 数据库的授权表统一为 InnoDB(事务性)表。每个语句都是事务性的,并且对所有 创建的用户都是成功或者回滚,发生任何错误都无效。如果成功,就将语句写入二进制日志; 如果失败则不写入,发生回滚并且不进行任何更改。 MySQL 8.0 开始支持角色,角色可以看成是一些权限的集合,为用户赋予统一的角色,权限 的修改直接通过角色来进行,无须为每个用户单独授权。管理员可以创建和删除角色。 MySQL 8.0 开始维护有关密码历史的信息,从而限制了以前密码的重用。管理员可以在全局 以及每个账户的基础上建立密码重用策略,从而在密码更改时限制使用以前使用过的密码。 MySQL 8.0 允许账户具有双密码,从而在多服务器系统中无缝地执行分阶段密码更改,无须 停机。 4.资源管理 MySQL 现在支持资源组的创建和管理,并允许将服务器内运行的线程分配给特定的资源组。 资源组属性可以控制其资源,以启用或限制资源组中线程的资源消耗。数据库管理员可以根 据不同的工作负载修改这些属性。 5.InnoDB 增强功能 MySQL 8.0 增强了 InnoDB 的功能,主要表现如下: (1)MySQL 8.0 将自增主键的计数器持久化到重做日志中。每次计数器发生改变,都会将 其写入重做日志中。如果数据库重启,InnoDB 会根据重做日志中的信息来初始化计数器的 内存值。为了尽量减小对系统性能的影响,计数器写入重做日志时,并不会马上刷新数据库 系统。 (2)如果索引损坏,InnoDB 将索引损坏标志写入重做日志,从而使得损坏标志安全。InnoDB 还将内存中损坏标志数据写入每个检查点上的引擎专用系统表。在恢复期间,InnoDB 从两 个位置读取损坏标志并在将内存表和索引对象标记为损坏之前合并结果。 (3)新的动态变量 innodb_deadlock_detect 可用于禁用死锁检测。在高并发系统上,当许 多线程等待同一个锁时,死锁检测会导致速度减慢,此时禁用死锁检测可能更有效。 6.字符集支持 默认字符集已经更改 latin1 为 utf8mb4。该 utf8mb4 字符集有几个新的排序规则,其中包括 utf8mb4_ja_0900_as_cs。 7.增强 JSON 功能 MySQL 增强 JSON 功能主要表现在以下几个方面: |