MySQL各版本的新特性是什么

54次阅读
没有评论

共计 2455 个字符,预计需要花费 7 分钟才能阅读完成。

这篇文章将为大家详细讲解有关 MySQL 各版本的新特性是什么,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、各版本的常用命令差异
show innodb statusG mysql-5.1
show engines innodb statusG 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 位置信息,对数据库的监管很不方便)

关于“MySQL 各版本的新特性是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-15发表,共计2455字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)