mysql各个版本之间的区别

 

MySQL是一个开放源码的关系数据库管理系统,开发者为瑞典MySQL AB公司,被Sun公司收购,最后全都归并到Oracle麾下。MySQL由于性能高、成 本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站 和应用,比如维基百科、Google和Facebook。非常流行的开源软件组合LAMP中的M就是指 MySQL。

下载:http://mysql.proserve.nl/Downloads/MySQL-5.1/
查看更新: http://dev.mysql.com/doc/refman/5.1/en/news-5-1-50.html

MySQL各版本的区别

<第一个 MySQL Community Server,这个不要钱!
第二个 MySQL Enterprise 这个要掏钱,不过可以打电话咨询问题,也就是电话技术支持。
第三个 MySQL Cluster,这个单独是没法用的,要在1或2的基础上用。当然用来平衡多台数据库的。
第四个 MySQL Workbench,这是个好东西,用来设计数据库的。erwin知道吗?他就是这个作用。

MySQL Community Server 社区版本 应该不提供官方技术支持

MySQL Enterprise Server MySQL企业版服务器
软件是最可靠、最安全、更新版本的MySQL企业级服务器数据库,它能够高性价比地提供电子商务、联机事务处理(OLTP)、千兆规模的数据仓库应用等。它支持ACID事务处理,能提供完整的提交、回滚、崩溃恢复和行级锁定功能。MySQL数据库因其易用性、可扩展性和高性能等特点,成为全球最流行的开源数据库。

MySQL Cluster 2台以上 mysql集群服务器

MySQL Workbench有两个版本:
MySQL Workbench Community Edition(又叫MySQL Workbench OSS,社区版)和MySQL Workbench Standard Edition(又叫MySQL Workbench SE,商业版)。MySQL Workbench OSS是在GPL证书下发布的开源社区版本,而MySQL Workbench SE则是按年收费的商业版本。其功能方面的差异见下表(不得不说,数据库/模型同步这一重要的功能竟然只在收费的MySQL Workbench SE中可用,而在DBDesigner4中这却是基本功能,这种“继任”方式实在让人恶心);

 

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

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
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
问题一:MySQL各个版本之间的关系和特性 MySQL 是一个开源的关系型数据库管理系统,由于其稳定性、性能和易用性等特点,被广泛应用于 Web 应用、企业应用和云计算等领域。MySQL 的各个版本之间的关系和特性如下: 1. MySQL 3.x:是 MySQL 的早期版本,主要用于个人和小型网站的开发和部署,功能比较简单,性能一般。 2. MySQL 4.x:是 MySQL 的一个重要版本,引入了多种存储引擎和事务支持等特性,性能和可靠性都有了较大的提升。 3. MySQL 5.x:是 MySQL 的一个重要版本,引入了多种高级特性,如视图、存储过程、触发器、复制、分区等,功能和性能都有了较大的提升。 4. MySQL 8.x:是 MySQL 的一个最新版本,引入了多种新特性,如全文索引、JSON 数据类型、更好的性能和可扩展性等,是一个功能和性能都非常强大的版本。 问题二:MySQL的安装及增删改查 MySQL 的安装和增删改查操作如下: 1. 安装 MySQL:可以通过官方网站下载 MySQL 的安装包,然后按照安装向导进行安装即可。 2. 启动 MySQL:安装完成后,可以使用命令行或者图形界面工具启动 MySQL 服务,如使用命令行可以执行命令:`mysql.server start`。 3. 创建数据库:可以使用命令 `CREATE DATABASE dbname;` 创建一个新的数据库。 4. 创建表:可以使用命令 `CREATE TABLE tablename (column1 datatype, column2 datatype, ...);` 创建一个新的数据表。 5. 插入数据:可以使用命令 `INSERT INTO tablename (column1, column2, ...) VALUES (value1, value2, ...);` 插入一条新的记录。 6. 更新数据:可以使用命令 `UPDATE tablename SET column1 = value1, column2 = value2, ... WHERE condition;` 更新符合条件的记录。 7. 删除数据:可以使用命令 `DELETE FROM tablename WHERE condition;` 删除符合条件的记录。 问题三:MySQL的存储引擎 MySQL 的存储引擎是指 MySQL 用来管理数据的一套底层软件组件,它决定了 MySQL 如何存储、检索和操作数据。MySQL 的存储引擎包括多种类型,如下: 1. InnoDB:是 MySQL 的默认存储引擎,支持事务和行级锁定,适用于高并发和高可靠性的应用场景。 2. MyISAM:是 MySQL 的另一个常用存储引擎,支持全文索引和表级锁定,适用于大量读操作和少量写操作的应用场景。 3. Memory:是 MySQL 的内存型存储引擎,将数据存储在内存中,支持高速读写操作,但不支持持久化存储。 4. Archive:是 MySQL 的归档型存储引擎,适用于大量数据的归档和压缩存储。 5. NDB:是 MySQL 的分布式存储引擎,支持多台服务器之间的数据共享和高可用性。 问题四:MySQL的优化 MySQL 的性能优化是一个复杂的过程,需要从多个方面进行优化,如下: 1. 硬件优化:优化服务器硬件配置,如加大 CPU、内存和磁盘等硬件资源。 2. 数据库设计优化:优化数据库结构和查询语句,避免冗余数据和复杂查询。 3. 存储引擎优化:选择合适的存储引擎,如 InnoDB 或 MyISAM 等,根据具体应用场景进行优化。 4. 索引优化:根据查询需求创建合适的索引,减少全表扫描和排序等操作。 5. 缓存优化:使用缓存技术,如 Memcached 或 Redis 等,提高数据读取和写入的速度。 问题五:MySQL日常使用及运维,包含备份及故障排查 MySQL 的日常使用和运维包含以下内容: 1. 监控与维护:定期对 MySQL 进行监控和维护,如检查数据库状态、清理日志和缓存等。 2. 备份与恢复:定期对 MySQL 数据进行备份,并进行测试恢复操作,以确保备份的可用性和正确性。 3. 故障排查与修复:对 MySQL 出现的故障进行排查和修复,如磁盘空间不足、网络故障、数据库崩溃等。 4. 安全管理:对 MySQL 进行安全管理,如设置合适的权限和密码、加密数据传输等,确保数据的安全性。 5. 性能调优:对 MySQL 进行性能调优,如优化查询语句、修改参数配置、调整缓存大小等,提高数据库的性能和可用性。 总之,MySQL 的日常使用和运维需要进行综合管理和优化,以保证数据库的稳定性、可靠性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值