mysql5.1与mysql 5.5.25版本的有什么区别

作者&投稿:鄞阁 (若有异议请与网页底部的电邮联系)
Mysql的5.0版本和5.5的版本有什么区别?~

mysql的50版本和51版本的区别:
一、5.0 增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支持,增加了INFORATION_SCHEMA系统数据库。
二、5.1 增加了Event scheduler,Partitioning,Pluggable storage engine API ,Row-based replication、Global级别动态修改general query log和slow query log的支持。

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产品---MySQL5.5 已经面世,较之之前的5.1版本,将获得诸多特性方面的提升,简单总结如下:  1. 默认存储引擎更改为InnoDB  InnoDB作为成熟、高效的事务引擎,目前已经广泛使用,但MySQL5.1之前的版本默认引擎均为MyISAM,此次MySQL5.5终于 做到与时俱进,将默认数据库存储引擎改为InnoDB,并且引进了Innodb plugin 1.0.7。此次更新对数据库的好处是显而易见的:InnoDB的数据恢复时间从过去的一个甚至几个小时,缩短到几分钟(InnoDB plugin 1.0.7,InnoDB plugin 1.1, 恢复时采用红-黑树)。InnoDB Plugin 支持数据压缩存储,节约存储,提高内存命中率,并且支持adaptive flush checkpoint, 可以在某些场合避免数据库出现突发性能瓶颈。  Multi Rollback Segments: 原来InnoDB只有一个Segment,同时只支持1023的并发。现已扩充到128个Segments,从而解决了高并发的限制。  2. 多核性能提升  Metadata Locking (MDL) Framework替换LOCK_open mutex (lock),使得MySQL5.1及过去版本在多核心处理器上的性能瓶颈得到解决,官方表示将继续增强对MySQL多处理器支持,直至MySQL性能 “不受处理器数量的限制”  3. 复制功能(Replication)加强  MySQL复制特性是互联网公司应用非常广泛的特性,作为MySQL最实用最简单的扩展方式,过去的异步复制方式已经有些不上形势,对某些用户 来说“异步复制”意味着极端情况下的数据风险,MySQL5.5将首次支持半同步(semi-sync replication)在MySQL的高可用方案中将产生更多更加可靠的方案。另外Slave fsync tunning;Relay log corruption recovery和Replication Heartbeat也将实现  4. 增强表分区功能

新一代MySQL产品---MySQL5.5 已经面世,较之之前的5.1版本,将获得诸多特性方面的提升,简单总结如下:
  1. 默认存储引擎更改为InnoDB
  InnoDB作为成熟、高效的事务引擎,目前已经广泛使用,但MySQL5.1之前的版本默认引擎均为MyISAM,此次MySQL5.5终于 做到与时俱进,将默认数据库存储引擎改为InnoDB,并且引进了Innodb plugin 1.0.7。此次更新对数据库的好处是显而易见的:InnoDB的数据恢复时间从过去的一个甚至几个小时,缩短到几分钟(InnoDB plugin 1.0.7,InnoDB plugin 1.1, 恢复时采用红-黑树)。InnoDB Plugin 支持数据压缩存储,节约存储,提高内存命中率,并且支持adaptive flush checkpoint, 可以在某些场合避免数据库出现突发性能瓶颈。
  Multi Rollback Segments: 原来InnoDB只有一个Segment,同时只支持1023的并发。现已扩充到128个Segments,从而解决了高并发的限制。
  2. 多核性能提升
  Metadata Locking (MDL) Framework替换LOCK_open mutex (lock),使得MySQL5.1及过去版本在多核心处理器上的性能瓶颈得到解决,官方表示将继续增强对MySQL多处理器支持,直至MySQL性能 “不受处理器数量的限制”
  3. 复制功能(Replication)加强
  MySQL复制特性是互联网公司应用非常广泛的特性,作为MySQL最实用最简单的扩展方式,过去的异步复制方式已经有些不上形势,对某些用户 来说“异步复制”意味着极端情况下的数据风险,MySQL5.5将首次支持半同步(semi-sync replication)在MySQL的高可用方案中将产生更多更加可靠的方案。另外Slave fsync tunning;Relay log corruption recovery和Replication Heartbeat也将实现
  4. 增强表分区功能
  MySQL 5.5的分区对用户绝对是个好消息,更易于使用的增强功能,以及TRUNCATE PARTITION命令都可以为DBA节省大量的时间,有时对最终用户亦如此:
  1) 非整数列分区:任何使用过MySQL分区的人应该都遇到过不少问题,特别是面对非整数列分区时,MySQL 5.1只能处理整数列分区,如果你想在日期或字符串列上进行分区,你不得不使用函数对其进行转换。很麻烦,而MySQL 5.5中新增了两类分区方法,RANG和LIST分区法,同时在新的函数中增加了一个COLUMNS关键词。在MySQL 5.1中使用分区另一个让人头痛的问题是date类型(即日期列),你不能直接使用它们,必须使用YEAR或TO_DAYS转换这些列,但在MySQL 5.5中情况发生了很大的变化,现在在日期列上可以直接分区,并且方法也很简单;
  2) 多列分区:COLUMNS关键字现在允许字符串和日期列作为分区定义列,同时还允许使用多个列定义一个分区;
  3) 可用性增强:truncate分区。分区最吸引人的一个功能是瞬间移除大量记录的能力,DBA都喜欢将历史记录存储到按日期分区的分区表中,这样可以定期 删除过时的历史数据。 但当你需要移除分区中的部分数据时,事情就不是那么简单了,删除分区没有问题,但如果是清空分区,就很头痛了,要移除分区中的所有 数据,但需要保留分区本身,你可以:使用DELETE语句,但我们知道DELETE语句的性能都很差。使用DROP PARTITION语句,紧跟着一个EORGANIZE PARTITIONS语句重新创建分区,但这样做比前一个方法的成本要高出许多。MySQL 5.5引入了TRUNCATE PARTITION,它和DROP PARTITION语句有些类似,但它保留了分区本身,也就是说分区还可以重复利用。TRUNCATE PARTITION应该是DBA工具箱中的必备工具;
  4) 更多微调功能:TO_SECONDS:分区增强包有一个新的函数处理DATE和DATETIME列,使用TO_SECONDS函数,你可以将日期/时间列转换成自0年以来的秒数,如果你想使用小于1天的间隔进行分区,那么这个函数就可以帮到你。
  5. Insert Buffering 如果在buffer pool中没找到数据,那么直接buffer起来,避免额外的IO;Delete & Purge Buffering 跟插入一样,如果buffer pool中没有命中,先buffer起来,避免额外的IO。
  6. Support for Native AIO on Linux
  以上的特性在MySQL 5.5的社区版当中都将包括,在MySQL企业版当中,除以上更新之外,Oracle还加强了更多实用的企业级功能,包括:
  1. 实现在线物理热备
  MySQL 企业版将包含Innodb Hotbackup(这也许是MySQL和InnDB多年之后重新聚首的新亮点),从而一举解决过去MySQL无法进行可靠的在线实时物理备份的问题, InnoDB Hot Backup 不需要你关闭你的服务器也不需要加任何锁或影响其它普通的数据操作,这对MySQL DBA来说应该是一个不错的消息。
  2. MySQL Enterprise Monitor 2.2 & Oracle Enterprise Monitor
  是的,你没有看错,MySQL将可以被Oracle Enterprise Monitor监控,这是一个实现起来并不复杂,但在过去绝无可能的变化。并且MySQL企业版监控器(MySQL Enterprise Monitor)得到了更大的加强,版本更新至2.2,对MySQL服务器资源占用降低到可以忽略的地步,集成了监控,报警,SQL语句分析和给出优化建 议,MySQL的一些开源监控方案相比之下显得过于简陋,对企业客户来说,MySQL变得更加可靠。
  3. MySQL Workbench
  过去MySQL的图形界面工具做的实在是令人难以恭维,当然这也给众多MySQL管理工具提供了市场空间,现在Oracle打算将MySQL做 得比SQL-Server更加简单易用,MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具,可以用来设计和创建新的数据库图示,建立数据库文档,以及进行复杂的MySQL 迁移等操作,因此内置workbench将使MySQL使用起来更简便高效。
  4. 关于未来的重要提醒:Oracle的管理工具,MySQL也将能够使用,当然MySQL 5.5我们还没看到这个变化,但变化已经在时间表上,MySQL社区版也能够被Oracle管理工具管理,前提你得是Oracle数据库的用户。


Mysql单表太大,性能受影响求指点
这么大的表优化是很痛苦的,看你对数据的用途,如果不经常查询、而是频繁的增加,可以考虑定期(每周或者每日)把表中的数据复制到历史表中,清空工作表的数据,这样插入的效率能大大提高,但是查询的时候需要在两个表中进行查询。用于频繁插入数据的工作表要尽量少建索引,用于查询的历史表要多建索引。

MySQL数据库碎片优化整理方法详细步骤图解教程
该表需要频繁插入并且会定时去删掉旧的记录。表类型为Myisam,已建立一个索引,所以应该是产生了大量碎片,使用 Optimize table 表名 优化后大小变为2.19M,少了很多, 同时可以看出该表上的索引建的多余,因为插入操作比查询操作要多很多,而且查询不多,查询的数据量也一般比较小。借此延伸下MYSQL中...

centos和debian哪个好?
比如MySQL和PHP服务,它们在这五年的CentOS\/RHEL主版本发布周期中会进行繁重的开发和大量的修改。例\\x0d\\x0a如,MySQL5.0是当前RHEL\/CentOS主版本所默认使用的版本,但是当前MySQL已经更新到5.1和5.5版本了。\\x0d\\x0a\\x0d\\x0a幸运的是,这个问题被Yum软件包管理器轻易地解决了。如此以来,那些主要的软件,例如...

mysql中的设置varchar长度问题...
DECIMAL值的最大范围与DOUBLE相同,但是对一个给定的DECIMAL列,实际的范围可以通过M和D的选择被限制。如果D被省略,它被设置为0。如果M被省掉,它被设置为10。注意,在MySQL3.22里,M参数包括符号和小数点。NUMERIC(M,D) [ZEROFILL]这是DECIMAL的一个同义词。DATE 一个日期。支持的范围是'1000-...

mysql slave 怎么查看配置的master
首先修改mysql配置文件:\/etc\/mysql\/my.cnf [master]author:zhxia 1 #master 同步设置 2 server-id = 1 3 log_bin = \/var\/log\/mysql\/mysql-test-bin.log 4 expire_logs_days = 10 5 max_binlog_size = 100M 6 binlog_format =mixed [slave]author:zhxia ...

如何部署django项目到linux(django项目部署到服务器)
使用python-mpip代替 未知 从.\/configure这一步开始重新安装python 可以用命令杀掉这个端口在重启:vi到具体文件,执行替换命令:我有个linux的虚拟主机,我想运行django网站,怎么办?我是linux主机,我这样在本地运行django 1在终端进入django项目的文件夹,是有manage.py的那个目录 2然后运行pythonmanage....

php运行环境安装配置?
所谓WAMP,是指在Windows系统(W)下安装Apache网页服务器(A)以及MySQL数据库(M)和PHP脚本引擎(P)而搭建起来的PHP网络服务器环境,当然,在LAMP环境肯定是比WAMP环境要好的,可是由于Windows的易用性,所以,我们在做前期开发或者测试某些CMS的时候,使用WAMP环境甚至很方便更实用一些。WAMP即这些单个软件共同组成了一个强大...

centos系统编译安装nginx+php环境另加独立mysql教程
然后iptables上只允许192.168.10.8访问mysql端口,其他都拒绝.如:                代码如下    iptables -A RH-Firewall-1-INPUT -s 192.168.10.8 -p tcp -m tcp ...

Got error 28 from storage engine的错误怎么办
2、有了180多M剩余空间,可以启动mysql了 service mysqld restart 3、进入mysql执行:mysql> show master logs; \/\/查看日志 mysql> reset master; \/\/删除列于索引文件中的所有二进制日志,把二进制日志索引文件重新设置为空,并创建一个新的二进制日志文件 4、注销掉\/etc\/my.cnf中的 log-bin=mysql...

mysql哪个存储引擎有表空间
923275 12M -rw-r--- 1 mysql mysql 12M 3月 18 10:42 ibdata1 这个文件就是 MySQL 的系统表空间文件,默认为 1 个,可以有多个,只需要在配置文件 my.cnf 里面这样定义即可。innodb_data_file_path=ibdata1:200M;ibdata2:200M:autoextend:max:800M系统表空间不仅可以是文件系统组成的...

隆昌县17676089455: MYSQL的发展史? -
栋珠保欣: MySQL从开发人员手中的“玩具”变为如今的“世界上最流行的开源数据库”,其中的过程伴随着产品版本升级,以及一些新功能(特别是企业数据库功能)的增加.现在,随着MySQL 5.0被完美地开发出来,已经很少有人将MySQL称为“玩...

隆昌县17676089455: mysql5.1与mysql 5.5.25版本的有什么区别 -
栋珠保欣: 新一代MySQL产品---MySQL5.5 已经面世,较之之前的5.1版本,将获得诸多特性方面的提升,简单总结如下:1. 默认存储引擎更改为InnoDBInnoDB作为成熟、高效的事务引擎,目前已经广泛使用,但MySQL5.1之前的版本默认引擎均为...

隆昌县17676089455: mysql5哪个版本稳定 -
栋珠保欣: mysql 5.X版本系列比较稳定建议升级至5.5

隆昌县17676089455: MySQL达人们,大家在生产环境下都用什么版本 -
栋珠保欣: MySQL 数据库版本 对于MySQL开源数据库分为多个重要分支发展,目前拥有的分支分别为:MySQL Cluster、MySQL 5.1、MySQL5.5、MySQL6.2,每个分支版本都会遵循一个相同的流程,也即不同开发测试阶段的MySQL数据库版本,分别为...

隆昌县17676089455: mysql5.6.20如何开启分区功能 -
栋珠保欣: MySQL 5.5的发布带来了许多增强的功能,虽然已经报道了很多增强功能,如半同步复制,但大家却忽略了分区方面的增强,有时甚至还对其真正意义产生了误解,在这篇文章中,我们希望解释一下这些很酷的增强,特别是我们大多数人还没有...

隆昌县17676089455: MYSQL启动 -
栋珠保欣: 你没进入MySQL的命令行模式呀,其实不用在DOS下敲命令的,安装好MYSQL后会有个MySQL Command Line Client,开始-》所有程序-》MYSQL-》MYSQL5.1->MySQL Command Line Client,进入MYSQL的命令行模式才可以执行MYSQL的指令的.

隆昌县17676089455: 现在mysql较稳定的版本是哪一个呢?可以是开发中常用的mysql版本? -
栋珠保欣: MySQL5.0以上的版本都可以,一直再用,还不错的.再低的版本的有些功能就不一样了,

隆昌县17676089455: 求问mysql5.5如何导出兼容mysql5.1的版本 -
栋珠保欣: 我只是在 5.5 上面导出一个 基本的 sql 语句.然后再执行这个 SQL 语句.不过没有测试过, 5.5 导出的 sql 语句, 能不能在 5.1 上面执行通过了.你可以尝试一下看看.进入MySQL目录下的bin文件夹 mysqldump -u 用户名 -p 数据库名 > 导出的...

隆昌县17676089455: ubuntu mysql怎么升级 -
栋珠保欣: 通常情况下,升级到新版本不需要修改任何数据表.请检查MySQL发布事项中提到的升级需要注意的地方,如果发现不能直接升级的话,就先用 mysqldump 将数据导出来,然后再导回去. 如果担心升级失败,就先把旧版本的MySQL改个名字备...

隆昌县17676089455: mysql如何升级 -
栋珠保欣: MySQL不采用补丁包升级,每次升级需要下载新版本的程序

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网