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

发布时间 - 2026-01-11 02:52:45    点击率:

各版本的一些命令差异:

show innodb status\G mysql-5.1
show engines innodb status\G mysql-5.5

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

-----------------------------------------------------------------------

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

1、4.1 增加了子查询的支持,字符集增加UTF-8,GROUP BY语句增加了ROLLUP,mysql.user表采用了更好的加密算法。 

2、5.0 增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支持,增加了INFORATION_SCHEMA系统数据库。 

3、5.1 增加了Event scheduler,Partitioning,Pluggable storage engine API ,Row-based replication、Global级别动态修改general query log和slow query log的支持。 

4、5.5的新特征 

1)默认存储引擎更改为InnoDB 

2)提高性能和可扩展性 

a. 提高了默认线程并发数(innodb_thread_concurrency) 

b. 后台输入/输出线程控制(innodb_read_io_threads、innodb_write_io_threads) 

c. 主线程输入/输出速率控制(innodb_io_capacity) 

d.  操作系统内存分配程序使用控制(innodb_use_sys_malloc) 

e.   适应性散列索引(Hash Index)控制,用户可以关闭适应性散列功能。 

f.   插入缓冲(Insert Buffering)控制,用户可以关闭innodb的插入缓冲功能。 

g.  通过快速加锁算法提高可扩展性,innodb不在使用代理(posix)线程,而是使用原生的独立操作来完成互斥和读写锁定。 

h.  恢复组提交(Restored Group Commit) 

i.   提高恢复性能 

j.  多缓冲池实例 

k.  多个回滚段(Multiple Rollback Segments),之前的innodb版本最大能处理1023个并发处理操作,现在mysql5.5可以处理高达128K的并发事物, 

l.   Linux系统固有的异步输入/输出,mysql5.5数据库系统也提高了linux系统的输入输出请求的并发数。 

m. 扩展变化缓冲:添加了删除缓冲和清除缓冲 

n.  改善了日志系统互斥和单独刷新(Flush)列表互斥 

o.  改善清除程序进度,在mysql5.5中清楚操作线程是独立的线程,并支持并发,可以使用innodb_purge_treads配置。 

p.  改善事务处理中的元数据锁定。例如,事物中一个语句需要锁一个表,会在事物结束时释放这个表,而不是像以前在语句结束时释放表。 

3)提高实用性 

a.  半同步复制(Semi-synchronous Replication) 

b.  复制Heartbeat 

c.  中继日志自动恢复(Automatic Relay Log Recovery) 

d.  根据服务器过滤项复制(Replication Per Server Filtering) 

e.  从服务器复制支持的数据类型转换(Replication Slave Side Data Type Conversions) 

4)提高易管理性和效率 

a.  建立快速索引(Faster Index Creation) 

b.  高效的数据压缩(Efficient Data Compression)  

c.  为大物件和可变长度列提供高效存储  

d.   增加了INFORMATION_SCHEMA表,新的表提供了与InnoDB压缩和事务处理锁定有关的具体信息。 

5)提高可用性 

a.  针对SIGNAL/RESIGNAL的新SQL语法 

b.   新的表/索引分区选项。MySQL5.5将表和索引RANG和LIST分区范围扩展到了非整数列和日期,并增加了在多个列上分区的能力。 

6)改善检测和诊断 

Mysql5.5引入了一种新的性能架构(performancn_shema,P_S),用于监控mysql监控服务器运行时的性能。

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位置信息,对数据库的监管很不方便)

总结

以上所述是小编给大家介绍的MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别整理,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


# mysql  # 各版本区别  # MySQL 5.5/5.6/5.7及以上版本安装包安装时如何选择安装路径  # mysql版本5.5.x升级到5.6.x步骤分享  # mysql5.5与mysq 5.6中禁用innodb引擎的方法  # MySQL 5.5  #  5.6  #  5.7  #  8.0 特性对比  # Mysql5.5升级到5.6的真实操作步骤示例  # 增加了  # 多个  # 各版  # 死锁  # 用户可以  # 互斥  # 结束时  # 小编  # 事务处理  # 提高了  # 已有  # 新特征  # 会在  # 可用性  # 采用了  # 给大家  # 可以使用  # 第三方  # 很不  # 来完成 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: java中使用zxing批量生成二维码立牌  微信小程序 wx.uploadFile无法上传解决办法  javascript读取文本节点方法小结  晋江文学城电脑版官网 晋江文学城网页版直接进入  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  如何批量查询域名的建站时间记录?  ,怎么在广州志愿者网站注册?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  清除minerd进程的简单方法  网站页面设计需要考虑到这些问题  ,交易猫的商品怎么发布到网站上去?  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  如何确认建站备案号应放置的具体位置?  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  网站制作软件免费下载安装,有哪些免费下载的软件网站?  香港服务器WordPress建站指南:SEO优化与高效部署策略  WEB开发之注册页面验证码倒计时代码的实现  如何快速查询网站的真实建站时间?  EditPlus中的正则表达式 实战(2)  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  JavaScript如何实现类型判断_typeof和instanceof有什么区别  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  Laravel如何配置和使用缓存?(Redis代码示例)  JavaScript数据类型有哪些_如何准确判断一个变量的类型  如何快速查询网址的建站时间与历史轨迹?  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  python中快速进行多个字符替换的方法小结  Laravel如何实现事件和监听器?(Event & Listener实战)  jQuery validate插件功能与用法详解  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  怎样使用JSON进行数据交换_它有什么限制  详解vue.js组件化开发实践  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  独立制作一个网站多少钱,建立网站需要花多少钱?  如何注册花生壳免费域名并搭建个人网站?  如何在云主机快速搭建网站站点?  中国移动官方网站首页入口 中国移动官网网页登录  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  如何在 React 中条件性地遍历数组并渲染元素