Mysql 3.23
- 集成 berkeley db存储引擎
- 2000年isam 升级myisam。
- 集成 innodb引擎,支持事务,支持行锁、支持子查询
- 支持Unicode (UTF-8),允许更广泛地进行国际化。
- 支持游标、存储过程、触发器、视图、XA事务
- 支持分区和基于行的复制
- 默认innodb 引擎,替代myisam
- 表与索引存储在表空间、表大小无限制
- 多核扩展,能够充分利用多核CPU
- 支持半同步Replication
- 支持utf8mb4
- 分区增强
- 增加Relay Log 自我修复功能
- 对TIME, DATETIME和TIMESTAMP进行了重构,可支持小数秒。DATETIME的空间需求也从之前的8个字节减少到5个字节
- 支持全文索引
- 统计信息持久化,mysqld重启后不丢失
- explain语句支持insert,update,delete,replace语句,并且支持JSON格式
- 支持Online DDL。ALTER操作不再阻塞DML。
- 子查询性能提升
- 支持GTID复制
- 支持无损复制
- 支持延迟复制
- 支持基于库级别的并行复制
- 支持可传输表空间
- mysql binlog可远程备份binlog
- redolog 4G扩展至512G
- undo log可独立出系统表空间
- Back_log排队队列
- 能够提供完整的事务支持
- 原生支持systemd
- 可通过SHUTDOWN命令关闭MySQL实例。
- ionndb cluster
- 引入虚拟列,类似oracle中的函数索引
- 5.7.8 支持JSON
- 可存储结构化和非结构化数据库
- 可以explain 一个正在执行的SQL
- explain format=json
- 临时表的性能改进
- 引入ALTER USER命令,可用来修改用户密码,密码的过期策略,及锁定用户等。
- mysql.user表中存储密码的字段从password修改为authentication_string
- mysql.user 的 plugin字段不允许为空, 默认值是 mysql_native_password,而不是 mysql_old_password,不再支持旧密码格式
- 增加密码过期机制,过期后需要修改密码,否则可能会被禁用,或者进入沙箱模式
- 提供了更为简单SSL安全访问配置,并且默认连接就采用SSL的加密方式
- sys schema是MySQL 5.7.7中引入的一个系统库,包含了一系列视图、函数和存储过程, 该项目专注于MySQL的易用性
- mysql_install_db 不推荐使用,改成mysqld --initialize ,--initial-insecure 可以创建空密码的root用户
- 在线修改buffer pool大小
- 引入了新的客户端工具mysqlsh,其支持三种语言:JavaScript, Python and SQL。两种API:X DevAPI,
- AdminAPI,其中,前者可将MySQL作为文档型数据库进行操作,后者用于管理InnoDB Cluster
- 在线开启GTID
- 支持多源复制
- 支持组复制
- 在线设置复制过滤规则
- 增强半同步
- 基于writeset的并行复制
- 默认binlog格式调整为ROW格式
- 默认字符集由latin1修改为utf8mb4
- 可通过RESTART命令重启MySQL实例
- 默认的认证插件由mysql_native_password更改为caching_sha2_password
- 移除PASSWORD()函数。这就意味着无法通过“SET PASSWORD ... =PASSWORD('auth_string') ”命令修改用户密码
- 默认的内存临时表由MEMORY引擎更改为TempTable引擎
- 增加caching_sha2_password插件
- 权限支持role
- 支持资源组(Resource Groups),可用来控制线程的优先级及其能使用的资源,目前,能被管理的资源只有CPU
- 可以限制历史密码
- 支持alter tablespace rename to
- JSON字段的部分更新(JSON Partial Updates)
- 支持秒加字段(Instant add column)功能
- 支持不可见索引
- 支持降序索引
- 支持自增主键的持久化
- 支持直接修改列名(ALTER TABLE ... RENAME COLUMN old_name TO new_name)
- 对 OpenSSL 的改进、新的默认身份验证、SQL 角色、密码强度、授权
- 重构了INFORMATION_SCHEMA,其中部分表已重构为基于数据字典的视图,在此之前,其为临时表
- information_schema中的innodb_locks和innodb_lock_waits表被移除,取而代之的是performance_schema中的data_locks和data_lock_waits表