什么是 MySQL?
世界上应用最广泛且灵活的开源关系数据库
MySQL 是应用最广泛的开源关系数据库,是许多常见网站、应用程序和商业产品使用的主要关系数据存储。MySQL 有 20 多年的社区开发和支持历史,是一种可靠、稳定而安全的基于 SQL 的数据库管理系统。MySQL 数据库适用于各种使用案例,包括任务关键型应用程序、动态网站以及用于软件、硬件和设备的嵌入式数据库。
AWS 通过多种方式支持 MySQL,其中包括 Amazon Relational Database Service (RDS) for MySQL 这种完全托管的数据库服务。我们还利用 MySQL 实现了 Amazon Aurora 与 MySQL 的兼容,并且 Amazon RDS 支持热门 MySQL 分支项目 MariaDB。您也可以在 Amazon EC2 上托管 MySQL 并自行管理数据库,或者在 AWS Marketplace 中查找第三方 MySQL 产品。
MySQL 的历史
使用 MySQL 的优势
易于使用,性能强大
MySQL 数据库易于使用,功能强大,支持触发器、存储的程序和可以更新的视图,受到了 Web 开发人员的青睐。MySQL 包含多种实用工具,例如备份程序 mysqldump、管理客户端 mysqladmin 和用于管理工作和迁移工作的 GUI MySQL Workbench。
随着时间的推移,MySQL 推出了包含索引压缩的 B-tree 磁盘表、基于线程的内存分配和优化的嵌套循环连接等功能,提升了其性能。存储引擎中的行级锁定和一致性读取为 MySQL 提供了支持多用户并发的额外性能优势。
可靠性与安全性
MySQL 的 InnoDB 事务性存储引擎符合 ACID 模型,具有改进数据保护的功能,例如时间点恢复和自动提交。InnoDB 支持外键约束,可以避免不同表中的数据不一致,从而实现更高的数据完整性。
MySQL 附带强化而灵活的安全功能,其中包括基于主机的验证和密码流量加密。InnoDB 采用双层加密密钥架构进行静态数据表空间加密,具备额外的安全优势。
开源许可
MySQL 采用开源许可(GNU 通用公共许可),您可以自由使用和修改源代码。Amazon RDS for MySQL 等托管版本的 MySQL 没有额外的许可费用。
MySQL 在全球有大规模的贡献者和爱好者社区,为使用这种数据库系统带来了许多额外的长期优势。例如,MySQL 社区一直关注安全问题和错误修复,提高了软件的整体弹性。MySQL 的用户群、活动、论坛和邮寄名单组成了一个内建的教育和支持网络。
MySQL 常见使用案例
通用型 OLTP 数据库
MySQL 适用于需要事务性 SQL 引擎的任何应用场景,其中包括任务关键型应用程序和大流量网站。MySQL 遵守 ACID 原则,附带对 ANSI/ISO 标准 SQL 的扩展以及对 XML 和 JSON 的支持。MySQL 还支持高可用性数据库集群,可以处理 TB 级数据库。使用 MySQL 数据库的常见应用程序包括 TYPO3、MODx、Joomla、WordPress、phpBB、MyBB 和 Drupal 等。
电子商务应用
MySQL 是电子商务平台最常用的事务引擎之一。MySQL 特别适合管理客户数据、交易和产品目录。在电子商务解决方案中,MySQL 经常与其他非关系数据库结合使用,例如用于同步订单数据的文档和键值存储以及存储非产品数据。
LAMP 开源堆栈
MySQL 是 LAMP 开源软件栈(LAMP 代表 Linux、Apache、MySQL 和 PHP/Python/Perl)上运行的无数应用程序不可分割的组成部分。LAMP 是一种无处不在的 Web 服务解决方案堆栈,被广泛认为是动态网站和高性能 Web 应用程序的首选平台。
MySQL 分支项目
MariaDB
MariaDB 是 MySQL 的一个流行分支,来自由 MySQL 的原始开发人员创建的 MariaDB,其目的是在 GNU GPL 下保持免费和开源。虽然 MariaDB 与 MySQL 分开维护,但其仍保持高度的 MySQL 兼容性,包括库二进制等同性以及与 API 的精确匹配。AWS 通过 Amazon RDS for MariaDB 这种完全托管的数据库服务来支持 MariaDB。
Percona Server
Percona Server 是 MySQL 的另一个流行分支,来自 Percona。Percona Server 中附带 XtraDB,这是 Percona 的 InnoDB 存储引擎分支。
语言支持
MySQL 支持大多数领先的编程语言和协议,包括:
Python
Java
Perl
Node.js
.Net
PHP
Ruby
Erlang
C/C++
Tcl
ODBC
Objective-C
MySQL 与PostgreSQL
MySQL 和 PostgreSQL 都是流行的开源关系数据库。从传统意义上说,我们认为 MySQL 比较易用且速度快,而 PostgreSQL 的功能比较丰富,并且与 Oracle 等商业数据库的兼容性更好。然而,目前 MySQL 和 PostgreSQL 的主要版本在性能、可靠性、安全性等方面均提供大量强大的功能和良好的特性。您可以详细了解 PostgreSQL,并通过 AWS 免费套餐试用 Amazon RDS for PostgreSQL。
AWS 上的 MySQL 托管选项
Amazon EC2 上的自托管 MySQL
Amazon RDS 上的完全托管 MySQL
注册 Amazon RDS
通过简单教程进行学习
开始使用 Amazon RDS 构建