MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

各版本的一些命令差异:

show innodb status\G mysql-5.1

show engines innodb status\G mysql-5.5

 

关于grant授权 mysql-5.5 的 user@'%'不包含localhost

 
 
  1. MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别  
  2.  
  3. 1、4.1 增加了子查询的支持,字符集增加UTF-8,GROUP BY语句增加了ROLLUP,mysql.user表采用了更好的加密算法。  
  4.  
  5. 2、5.0 增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支持,增加了INFORATION_SCHEMA系统数据库。  
  6.  
  7. 3、5.1 增加了Event scheduler,Partitioning,Pluggable storage engine API ,Row-based replication、Global级别动态修改general query log和slow query log的支持。  
  8.  
  9. 4、5.5的新特征  
  10.  
  11. 1)默认存储引擎更改为InnoDB  
  12.  
  13. 2)提高性能和可扩展性  
  14.  
  15. a. 提高了默认线程并发数(innodb_thread_concurrency)  
  16.  
  17. b. 后台输入/输出线程控制(innodb_read_io_threads、innodb_write_io_threads)  
  18.  
  19. c. 主线程输入/输出速率控制(innodb_io_capacity)  
  20.  
  21. d.  操作系统内存分配程序使用控制(innodb_use_sys_malloc)  
  22.  
  23. e.   适应性散列索引(Hash Index)控制,用户可以关闭适应性散列功能。  
  24.  
  25. f.   插入缓冲(Insert Buffering)控制,用户可以关闭innodb的插入缓冲功能。  
  26.  
  27. g.  通过快速加锁算法提高可扩展性,innodb不在使用代理(posix)线程,而是使用原生的独立操作来完成互斥和读写锁定。  
  28.  
  29. h.  恢复组提交(Restored Group Commit)  
  30.  
  31. i.   提高恢复性能  
  32.  
  33. j.  多缓冲池实例  
  34.  
  35. k.  多个回滚段(Multiple Rollback Segments),之前的innodb版本最大能处理1023个并发处理操作,现在mysql5.5可以处理高达128K的并发事物,  
  36.  
  37. l.   Linux系统固有的异步输入/输出,mysql5.5数据库系统也提高了linux系统的输入输出请求的并发数。  
  38.  
  39. m. 扩展变化缓冲:添加了删除缓冲和清除缓冲  
  40.  
  41. n.  改善了日志系统互斥和单独刷新(Flush)列表互斥  
  42.  
  43. o.  改善清除程序进度,在mysql5.5中清楚操作线程是独立的线程,并支持并发,可以使用innodb_purge_treads配置。  
  44.  
  45. p.  改善事务处理中的元数据锁定。例如,事物中一个语句需要锁一个表,会在事物结束时释放这个表,而不是像以前在语句结束时释放表。  
  46.  
  47. 3)提高实用性  
  48.  
  49. a.  半同步复制(Semi-synchronous Replication)  
  50.  
  51. b.  复制Heartbeat  
  52.  
  53. c.  中继日志自动恢复(Automatic Relay Log Recovery)  
  54.  
  55. d.  根据服务器过滤项复制(Replication Per Server Filtering)  
  56.  
  57. e.  从服务器复制支持的数据类型转换(Replication Slave Side Data Type Conversions)  
  58.  
  59. 4)提高易管理性和效率  
  60.  
  61. a.  建立快速索引(Faster Index Creation)  
  62.  
  63. b.  高效的数据压缩(Efficient Data Compression)   
  64.  
  65. c.  为大物件和可变长度列提供高效存储   
  66.  
  67. d.   增加了INFORMATION_SCHEMA表,新的表提供了与InnoDB压缩和事务处理锁定有关的具体信息。  
  68.  
  69.    
  70.  
  71. 5)提高可用性  
  72.  
  73. a.  针对SIGNAL/RESIGNAL的新SQL语法  
  74.  
  75. b.   新的表/索引分区选项。MySQL5.5将表和索引RANG和LIST分区范围扩展到了非整数列和日期,并增加了在多个列上分区的能力。  
  76.  
  77. 6)改善检测和诊断  
  78.  
  79.  Mysql5.5引入了一种新的性能架构(performancn_shema,P_S),用于监控mysql监控服务器运行时的性能。
  80.  
  81.  5、5.6的新特征 1)InnoDB现在可以限制大量表打开的时候内存占用过多的问题(比如这里提到的)(第三方已有补丁) 
    2)InnoDB性能加强。如分拆kernel mutex;flush操作从主线程分离;多个perge线程;大内存优化等
    3)InnoDB死锁信息可以记录到 error 日志,方便分析
    4)MySQL5.6支持延时复制,可以让slave跟master之间控制一个时间间隔,方便特殊情况下的数据恢复。
    5)表分区功能增强
    6)MySQL行级复制功能加强,可以降低磁盘、内存、网络等资源开销(只记录能确定行记录的字段即可)
    7)Binlog实现 crash-safe
    8)复制事件采用crc32校验,增强master/slave 复制数据一致性
    9)新增 log_bin_basename (以前variables里面没有binlog位置信息,对数据库的监管很不方便)




本文转自 fenghao.cn 51CTO博客,原文链接:http://blog.51cto.com/linuxguest/746361,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
16天前
|
关系型数据库 MySQL 数据库
mysql卸载、下载、安装(window版本)
mysql卸载、下载、安装(window版本)
|
1月前
|
存储 SQL 运维
TIDB和MySQL的区别
TIDB和MySQL的区别
166 0
|
1月前
|
存储 缓存 关系型数据库
Mysql的两种存储引擎以及区别
Mysql的两种存储引擎以及区别
15 1
|
2月前
|
SQL 人工智能 关系型数据库
mysql中in 和exists的区别
mysql中in 和exists的区别
|
1月前
|
关系型数据库 MySQL 数据库
django4版本提示 django.db.utils.NotSupportedError: MySQL 8 or later is required (found 5.7.26)
在学习Django时,用户遇到`django.db.utils.NotSupportedError`,提示需要MySQL 8.0.25或更高版本,但其系统上是5.7.26。为解决这个问题,用户决定不升级MySQL,而是选择注释掉Django源码中的数据库版本检查。通过Python命令行找到Django安装路径,进入`db/backends/base/base.py`,注释掉`self.check_database_version_supported()`函数
114 0
|
26天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
96 0
|
13天前
|
存储 关系型数据库 MySQL
MySQL引擎对决:深入解析MyISAM和InnoDB的区别
MySQL引擎对决:深入解析MyISAM和InnoDB的区别
28 0
|
1月前
|
存储 缓存 关系型数据库
MySQL两种存储引擎及区别
MySQL两种存储引擎及区别
24 4
MySQL两种存储引擎及区别
|
16天前
|
存储 关系型数据库 MySQL
深入理解MySQL中varchar和text的区别
在MySQL中,varchar和text都是用于存储文本数据的数据类型。varchar是可变长度字符串,存储时按实际长度分配空间,适合存储较短的、长度可变的字符串,如用户名。text类型用于存储大量文本,始终占用足够空间,适合文章内容。varchar在存储和查询时可能更快,可被索引,而text需特殊搜索技术。在数据库设计时,应根据存储需求和性能平衡选择。
50 0
|
1月前
|
存储 机器学习/深度学习 关系型数据库
mysql中char和varchar的区别
mysql中char和varchar的区别
30 1