![544bbabf1d37e45a10dd6333aee9aa46.png](https://i-blog.csdnimg.cn/blog_migrate/bcd6402cbebffca1df1893ff368761f3.jpeg)
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复制
支持无损复制
支持延迟复制
支持基于库级别的并行复制
支持可传输表空间
mysqlbinlog可远程备份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表