博客
关于我
Mysql学习总结(78)——MySQL各版本差异整理
阅读量:793 次
发布时间:2023-02-12

本文共 2090 字,大约阅读时间需要 6 分钟。

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表

转载地址:http://qzdfk.baihongyu.com/

你可能感兴趣的文章
Mysql学习总结(17)——MySQL数据库表设计优化
查看>>
Mysql学习总结(18)——Mysql主从架构的复制原理及配置详解
查看>>
Mysql学习总结(19)——Mysql无法创建外键的原因
查看>>
Mysql学习总结(19)——Mysql无法创建外键的原因
查看>>
Mysql学习总结(1)——常用sql语句汇总
查看>>
Mysql学习总结(20)——MySQL数据库优化的最佳实践
查看>>
Mysql学习总结(21)——MySQL数据库常见面试题
查看>>
Mysql学习总结(22)——Mysql数据库中制作千万级测试表
查看>>
Mysql学习总结(23)——MySQL统计函数和分组查询
查看>>
Mysql学习总结(24)——MySQL多表查询合并结果和内连接查询
查看>>
Mysql学习总结(25)——MySQL外连接查询
查看>>
Mysql学习总结(26)——MySQL子查询
查看>>
Mysql学习总结(27)——Mysql数据库字符串函数
查看>>
Mysql学习总结(28)——MySQL建表规范与常见问题
查看>>
Mysql学习总结(29)——MySQL中CHAR和VARCHAR
查看>>
Mysql学习总结(2)——Mysql超详细Window安装教程
查看>>
Mysql学习总结(30)——MySQL 索引详解大全
查看>>
Mysql学习总结(31)——MySql使用建议,尽量避免这些问题
查看>>
Mysql学习总结(32)——MySQL分页技术详解
查看>>
Mysql学习总结(33)——阿里云centos配置MySQL主从复制
查看>>