MySQL


MySQL是一个关系型数据库管理系统

简介概述

MySQL是一个关系型数据库管理系统,原本是一个开放源码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被昇阳微系统(Sun Microsystems)收购。

2009年,甲骨文公司(Oracle)收购昇阳微系统公司,MySQL成为Oracle旗下产品。

MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用。非常流行的开源软件组合LAMP中的“M”指的就是MySQL。


相关特点

1.mySQL使用CC++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。

2.支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。

3.为多种编程语言提供了 API。这些编程语言包括 CC++PythonJava、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。

4.支持多线程,充分利用 CPU 资源。

5.优化的 SQL查询算法,有效地提高查询速度。

6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。

7.提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作数据表名和数据列名。

8.提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。

9.提供用于管理、检查、优化数据库操作的管理工具。

10.支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

11.支持多种存储引擎。

12.MySQL 是开源的,所以你不需要支付额外的费用。

13.MySQL 使用标准的 SQL数据语言形式。

14.MySQL 对 PHP 有很好的支持,PHP是比较流行的 Web 开发语言。

15.MySQL是可以定制的,采用了 GPL协议,你可以修改源码来开发自己的 MySQL 系统。

16.在线 DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性(5.6新增)

17.复制全局事务标识,可支持自我修复式集群(5.6新增)

18.复制无崩溃从机,可提高可用性(5.6新增)

19.复制多线程从机,可提高性能(5.6新增)

20.3倍更快的性能(5.7 [3] 新增)

21.新的优化器(5.7新增)

22.原生JSON支持(5.7新增)

23.多源复制(5.7新增)

24.GIS的空间扩展 (5.7新增)


应用架构

单点(Single),适合小规模应用

复制(Replication),适合中小规模应用

集群(Cluster),适合大规模应用


相关版本

标准版

MySQL 标准版让您可以交付高性能、可扩展的联机事务处理 (OLTP) 应用。它提供了令 MySQL 闻名于世的易用性以及行业级的性能和可靠性。

MySQL 标准版包括 InnoDB,这使其成为一种全面集成、事务安全、符合 ACID 的数据库。此外,MySQL 复制还让您可以交付高性能、可扩展的应用。

较低的 TCO — MySQL 让您可以尽量降低数据库总拥有成本。

可靠性、性能和易用性 — MySQL 被证明是全球广受欢迎的开源数据库。

数据库开发、设计和管理 — MySQL Workbench 提供了一种集成式开发、设计和管理环境,提高了开发人员和 DBA 的工作效率。

当需要其他功能时,可以轻松升级到 MySQL 企业版或 MySQL Cluster 运营商级版本。


社区版

MySQL 社区版是全球广受欢迎的开源数据库的免费下载版本。它遵循 GPL 许可协议,由庞大、活跃的开源开发人员社区提供支持。

MySQL 社区版包括:

1、可插拔的存储引擎架构

2、多种存储引擎:InnoDB、MyISAM、NDB (MySQL Cluster)、Memory、Merge、Archive、CSV等等

3、MySQL 复制可提高应用性能和可扩展性

4、MySQL 分区有助于增强大型数据库应用的性能和管理

5、存储过程可提高开发人员效率

6、触发器可在数据库层面实施复杂的业务规则

7、视图可确保敏感信息不受攻击

8、Performance Schema 可监视各个用户/应用的资源占用情况

9、Information Schema 有助于方便地访问元数据

10、MySQL 连接器(ODBC、JDBC、.NET 等)可以用多种语言构建应用

11、MySQL Workbench 可用于可视化建模、SQL 开发和管理

支持 20 多种平台和操作系统,包括 Linux、Unix、Mac 和 Windows。


企业版

MySQL 企业版提供了全面的高级功能、管理工具和技术支持,实现了高水平的 MySQL 可扩展性、安全性、可靠性和无故障运行时间。

它可在开发、部署和管理业务关键型 MySQL 应用的过程中降低风险、削减成本和减少复杂性。

MySQL Cluster CGE

随着互联网不断对日常生活的渗透,社交网络、各种智能移动设备的高速宽带接入以及新兴的机器对机器 (M2M) 数据交互等带来了用户数和数据量的爆炸式增长。

凭借无可比拟的扩展能力、正常运行时间和灵活性,MySQL Cluster 使用户能够应对下一代 Web、云及通信服务的数据库挑战。


应用环境

与其他的大型数据库 例如 Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。

Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。


存储引擎

MyISAMMySQL 5.0 之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务

InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定, MySQL 5.5 起成为默认数据库引擎

BDB源 自 Berkeley DB,事务型数据库的另一种选择,支持Commit 和Rollback 等其他事务特性

Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在 MySQL 重新启动时丢失

Merge将一定数量的 MyISAM 表联合而成一个整体,在超大规模数据存储时很有用

Archive非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive 拥有高效的插入速度,但其对查询的支持相对较差

Federated将不同的 MySQL 服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用

Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用

CSV: 逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个 .csv 文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV 存储引擎不支持索引。

BlackHole:黑洞引擎,写入的任何数据都会消失,一般用于记录 binlog 做复制的中继

EXAMPLE 存储引擎是一个不做任何事情的存根引擎。它的目的是作为 MySQL 源代码中的一个例子,用来演示如何开始编写一个新存储引擎。同样,它的主要兴趣是对开发者。EXAMPLE 存储引擎不支持编索引。

另外,MySQL 的存储引擎接口定义良好。有兴趣的开发者可以通过阅读文档编写自己的存储引擎。

0

【MySQL隶属于分类: 技术工具

它起初由本站用户:刘欣Eden于3年前 创建。

该内容的链接是:

目录