跳至主要内容

Amazon RDS for MySQL

什么是 MySQL?

什么是 MySQL?

MySQL 用作许多热门网站、应用程序和商业产品的主要关系数据存储。MySQL 有超过 25 年的社区开发和支持历史,是一种可靠、稳定而安全的结构化查询语言(SQL)数据库管理系统。

MySQL 数据库适用于各种使用案例,包括任务关键型应用程序和动态网站。 凭借简洁性和可靠性,MySQL 也是现代应用程序中广受欢迎的 SQL 引擎。应用程序开发人员可借助其简洁的客户端-服务器架构快速上手,同时,组织也能节省相关培训成本。

AWS 通过多种方式支持 MySQL,其中包括 Amazon Relational Database Service(RDS)for MySQL 这种完全托管的数据库服务。 此外,Amazon Aurora MySQL 兼容版同样基于 MySQL 构建,且 Amazon RDS 还支持热门的 MySQL 分支项目 MariaDB

您也可以在 Amazon EC2 上托管 MySQL 软件并自行管理数据库,或者在 AWS Marketplace 中查找第三方 MySQL 产品。

MySQL 的发展史

MySQL Server 的第一版由瑞典公司 MySQL AB 在 1995 年发布,该公司的创始人为 David Axmark、Allan Larsson 和 Michael Widenius。MySQL 的名字来自 Widenius 的女儿 My。MySQL 项目在 2000 年作为开源发布,采用 GNU 通用公共许可 (GPL)。

到 2001 年,MySQL 已经达到了超过 200 万次有效安装;到 2004 年,该软件每天下载超过 3 万次。2008 年,MySQL 被 Sun Microsystems 收购;2009 年 Oracle 收购 Sun Microsystems 后,MySQL 的所有权也随之转移。 

使用 MySQL 数据库的优势

易用性

MySQL 数据库易于使用,功能强大,支持触发器、存储的程序和可以更新的视图,受到了 Web 开发人员的青睐。MySQL 包含多种实用工具,例如备份程序 mysqldump、管理客户端 mysqladmin 和用于管理工作和迁移工作的 GUI MySQL Workbench。

性能

随着时间的推移,MySQL 推出了包含索引压缩的 B-tree 磁盘表、基于线程的内存分配和优化的嵌套循环连接等功能,提升了其性能。存储引擎中的行级锁定和一致性读取为 MySQL 提供了支持多用户并发的额外性能优势。MySQL 遵循并推广高效的设计理念,通过精简功能集提供核心功能来加快运行速度。

可靠性与安全性

MySQL 的 InnoDB 事务型存储引擎符合 ACID 模型,具备时间点恢复、自动提交等额外数据保护功能。InnoDB 还支持外键约束,可以避免不同表中的数据不一致,从而实现更高的数据完整性。

MySQL 附带强化而灵活的安全功能,其中包括基于主机的验证和密码流量加密。InnoDB 采用双层加密密钥架构进行静态数据表空间加密,具备额外的安全优势。

开源许可

MySQL 采用开源许可(GNU 通用公共许可),您可以在安装 MySQL 时自由使用和修改源代码。与专有 SQL 引擎不同,Amazon RDS for MySQL 等 MySQL 托管版本无需为 MySQL 引擎支付额外许可费用。

MySQL 在全球有大规模的贡献者和爱好者社区,为使用这种数据库系统带来了许多额外的长期优势。例如,MySQL 社区一直关注安全问题和错误修复,提高了软件的整体弹性。MySQL 的用户群、活动、论坛和邮寄名单组成了一个内建的教育和支持网络。

MySQL 常见使用案例

通用型 OLTP 数据库

MySQL 适用于需要事务性 SQL 引擎的任何应用场景,其中包括任务关键型应用程序和大流量网站。MySQL 遵守 ACID 原则,附带对 ANSI/ISO 标准 SQL 的扩展以及对 XML 和 JSON 的支持。

MySQL 还支持高可用性数据库集群,可以处理 PB 级数据库。使用 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 在 SQL 语言支持方面处于领先地位。此外,它还支持大多数主流编程语言和协议,包括 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 Aurora PostgreSQLAmazon RDS for PostgreSQL

AWS 上的 MySQL 托管选项

Amazon EC2 上的自托管 MySQL

过去,关系数据库部署在本地,而随着数据库工作负载迁移到云端,组织开始利用 Amazon EC2 来运行其关系数据库。采用这种方式,您需要承担本地数据库的所有常规管理任务,包括硬件预置、数据库配置、性能优化、补丁更新、备份和 MySQL 可扩展性配置等。

Amazon RDS 上完全托管的 MySQL

Amazon Relational Database Service(Amazon RDS)是一种易于管理的关系数据库服务,针对总拥有成本进行了优化。我们可根据需求进行设置、操作和扩展,非常简便。RDS 可自动执行无差别的数据库管理任务,例如预调配、配置、备份和修补。

借助 RDS,您可以在几分钟内创建新数据库,并能灵活自定义数据库以满足业务需求。您可以利用两个可读备用数据库、优化型写入读取以及基于 AWS Graviton4 的实例等功能来优化性能,并从多个定价选项中进行选择,以便有效地管理成本。

使用 Amazon Aurora MySQL 兼容进行现代化改造

Amazon Aurora 为 MySQL 提供全球领先的高性能和高可用性。Aurora 的吞吐量是 MySQL 的 5 倍,且保持完全兼容。Aurora 提供广泛的合规标准,具备企业级安全功能,并支持全球分布式应用程序。

Amazon RDS for MySQL 的入门很简单

1

注册 Amazon RDS

获取 Amazon RDS 免费套餐访问权限。

2

通过简单教程进行学习

3

开始使用 Amazon RDS 构建

Amazon RDS 上的 MySQL 用户指南的帮助下开始构建。

MySQL 数据库迁移过程

原生和第三方 MySQL 数据库迁移方法

SQL 转储和复制服务

MySQL 关系数据库管理系统迁移最实用的原生方法是执行 SQL 转储,再通过复制操作确保数据库同步。MySQL 内置的备份工具 mysqldump 是 MySQL 服务器数据库迁移的基础。mysqldump 可通过转储文件备份整个数据库,并提供一组 SQL 语句来重新生成数据库。当互联网连接快速稳定且数据迁移时间不重要时,该方法适用于容量小于 10GB 的数据库。

Percona XtraBackup 和 Amazon S3

先将 Percona XtraBackup 文件和备份数据传输至 Amazon S3,再以一对一的方式将数据库服务器从源数据库迁移至新的 Amazon RDS for MySQL 或 Aurora 数据库集群。使用此数据迁移转换流程加载数据可能比使用 mysqldump 快得多。

INFORMATION_SCHEMA 数据库

内置的 INFORMATION_SCHEMA 数据库可用作 MySQL 元数据浏览器。将该元数据浏览器与 AWS DMS 架构转换工具相结合,可确定源数据库架构与目标数据库架构、数据类型是否匹配,并确定需要弥补的差异点。

托管的 MySQL 数据迁移服务

AWS Database Migration Service

AWS 数据库迁移服务可发现、评测、转换 MySQL 数据库工作负载并将其迁移至 AWS,从而减少手动编辑操作和工作量。AWS DMS 迁移向导支持通过变更数据捕获(CDC)自动复制功能选择源和目标基础设施,并生成包含自动评测结果和目标对象建议的报告。MySQL 之间的迁移无需转换架构或对象定义。迁移数据前,可利用 AWS Application Discovery Service 发现 MySQL 服务器数据库中的所有依赖关系。 

AWS Application Migration Service

如果您正在通过简单的“直接迁移”将本地 MySQL 服务器数据迁移至 EC2,可使用 AWS Application Migration Service 将整个服务器迁移至 EC2。可以将此技术应用于单个数据库或多个数据库对象的迁移。