分享下mysql各个主要版本之间的差异

一、各版本的常用命令差异

  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各版本的主要区别

  mysql-server-4.1

  增加了子查询的支持,字符集增加UTF-8,GROUP BY语句增加了ROLLUP,mysql.user表采用了更好的加密算法,innodb开始支持单独的表空间。

  mysql-server-5.0

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

  mysql-server-5.1

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

  小版本的重要特性:

  5.1.2 开始支持微秒级的慢查询。关于慢查询相关信息请参考 http://linuxguest.blog.51cto.com/195664/721042

  mysql-server-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监控服务器运行时的性能。

  小版本的重要特性:

  percona-server-5.5.18.23支持group commit 参考:http://www.orczhou.com/index.php/2011/12/time-to-group-commit-2/

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

(0)

相关推荐

  • 分享下mysql各个主要版本之间的差异

    一.各版本的常用命令差异 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各版本的主要区别 mysql-server-4.1 增加了子查询的支持,字符集增加UTF-8,GROUP BY语句增加了ROLLUP,mysql.user表采用了更好的加密算法,innodb开始

  • Python3.10和Python3.9版本之间的差异介绍

    目录 介绍: 了解 Python 及其用例: 分析 Python 3.9 V/s Python 3.10 的差异 Python 3.9: IANA 时区数据库 合并和更新字典的函数 删除前缀和后缀 在 Python 3.9 中对内置泛型类型使用类型提示 Python 3.10: 改进的语法错误消息 更好的类型提示 改进的上下文管理器 介绍: 在过去的几十年里,Python 在编程或脚本语言领域为自己创造了一个名字.python 受到高度青睐的主要原因是其极端的用户友好性.Python 还用于处理

  • windows下mysql 5.7版本中修改编码为utf-8的方法步骤

    前言 刚开始学习MySQL,下载的是官网最新版本 5.7.14,使用cmd输入中文时报错,于是开始修改mysql默认编码(windows下),下面来看看详细的修改方法吧. 方法如下 首先通过 show variables like 'character_set_%';查看mysql字符集情 默认编码为 latin1 然后关闭数据库 在mysql安装目录下找到my.ini文件 在其中添加 [client] default-character-set=utf8 在[mysqld]下添加 charac

  • linux下mysql 5.7.16 免安装版本图文教程

    本文为大家分享了mysql 5.7.16 免安装版本教程,供大家参考,具体内容如下 MySQL:  5.7.16  程序目录:/usr/local/MySQL 数据文件目录:  /data/mysql 下载地址http://dev.mysql.com/downloads/mysql/; Linux-Generic 为免安装版本,我选择的64位 具体安装方法mysql网站有文档,英文好的话就别看我写的了. 一.安装前准备 1.关闭防火墙 #setup中关闭 2.关闭selinux      #此项

  • win10 下安装mysql服务器社区版本mysql 5.7.22 winx64的图文教程

    下载: http://dev.mysql.com/downloads/mysql/ 解压到C盘 添加环境变量path 添加环境变量 右击我的电脑->属性->高级系统设置->高级->环境变量-> 在系统变量中找到变量Path,点击编辑,在变量值最后面添加解压路径,路径要到bin文件夹下的路径,如: 以管理员权限运行cmd 安装MySQL服务 在cmd 命令窗口下 输入 mysqld install 初始化mysql数据库,这时会创建刚刚配置的data目录和一些数据库系统用的基本

  • windows版本下mysql的安装启动和基础配置图文教程详解

    下载: 第一步 : 打开网址(进入官网下载) :https://www.mysql.com ,点击downloads之后跳转到https://www.mysql.com/downloads 第二步 :跳转至网址https://dev.mysql.com/downloads/,选择Community选项 第三步 :点击MySQL Community Server进入https://dev.mysql.com/downloads/mysql/页面,再点击5.6版本的数据库 第四步:windows操作

  • linux下mysql数据库单向同步配置方法分享

    又叫做主从复制,是通过二进制日志文件完成的,注意:mysql 数据库的版本,两个数据库版本要相同 系统环境: 主服务器master IP: 192.168.0.88 从服务器slave IP: 192.168.0.99 单向同步 注意要点 1.只需要把需要同步的数据库备份传到从数据库上,其它任何东西都不需要 2.在从库上还原数据库时,一定先要建了同名数据库,否则还原会提示错误 3.在制定更新点时,一定要在同步进程还没启动前操作 主服务器上配置 对my.cnf进行修改需要重启动数据库设置才会生效,

  • Mac下MySQL安装配置教程

    本文实例为大家分享了Mac下MySQL安装教程,供大家参考,具体内容如下 首先需要下载 MySQL Community Server下载地址:https://dev.mysql.com/downloads/mysql/ 进入MySQL的下载界面(https://dev.mysql.com/downloads/mysql/),如果你是用的Mac OS来访问的话那么就会默认为你选好了Mac OS X 平台,而下面罗列的都是在Mac OS上能用的MySQL的版本,如果是用的其他平台,在"Select

  • centos6.5下mysql 5.7.19 安装配置方法

    centos6.5 安装mysql5.7.19的详细步骤,具体内容如下 1.从oracle网站上下载mysql5.7.19 2.增加centos用户组及用户 MySQL groupadd mysql       useradd mysql -g mysql 3.把需要安装的文件进行解压到指定的目录中, 需要设置 chown 755 目录,设置可以允许mysql进行访问. 4.到解压的mysql目录中找到bin ,在bin中有 mysqld 可执行文件.执行 ./mysqld --user=mys

  • windows环境下mysql数据库的主从同步备份步骤(单向同步)

    windows下mysql双向同步备份实现方法以下的文章主要讲述的是在windows环境下实现MySQL数据库的主从同步备份的正确操作方案,我在一些相关的网站看见关于windows环境下实现MySQL数据库的主从同步备份的操作步骤描述,但是很少有对其成功操作到底的,所以拿出此篇较为完整的方案与大家一起分享. 以下配置在本机上已经成功: 实现功能:A为主服务器,B为从服务器,初始状态时,A和B中的数据信息相同,当A中的数据发生变化时,B也跟着发生相应的变化,使得A和B的数据信息同步,达到备份的目的

随机推荐