Mysql 3.23

  • 集成 berkeley db存储引擎
  • 2000年isam 升级myisam。

Mysql 4.x

  • 集成 innodb引擎,支持事务,支持行锁、支持子查询
  • 支持Unicode (UTF-8),允许更广泛地进行国际化。

Mysql 5.x

  • 支持游标、存储过程、触发器、视图、XA事务

Mysql 5.1

  • 支持分区和基于行的复制

Mysql 5.5

  • 默认innodb 引擎,替代myisam
  • 表与索引存储在表空间、表大小无限制
  • 多核扩展,能够充分利用多核CPU
  • 支持半同步Replication
  • 支持utf8mb4
  • 分区增强
  • 增加Relay Log 自我修复功能

Mysql 5.6

  • 对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排队队列

Mysql 5.7

  • 能够提供完整的事务支持
  • 原生支持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格式

Mysql 8.0

  • 默认字符集由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表