Azure Database for MySQL灵活服务器是Microsoft Cloud中完全托管的生产就绪关系数据库服务。 它基于 MySQL Community Edition (在 GPLv2 许可证下提供)数据库引擎、版本 5.7、8.0 和 8.4。 通过该服务,可对数据库管理功能和配置设置进行更精细的控制并更灵活操作。 它已在各个 Azure 区域普遍可用。
Azure Database for MySQL 灵活服务器提供:
- 区域冗余和本地冗余高可用性(HA)。
- 安排维护时段的功能。
- 使用自动备份和时间点还原对数据进行长达 35 天的保护。
- 自动修补和维护基础硬件、操作系统和数据库引擎,帮助使服务保持安全和最新状态。
- 在几秒钟内实现弹性缩放。
- 成本优化控制,具有低成本的可突发计算层级,并能够随时停止和启动服务器。
- 企业级安全性、合规性和隐私保护,帮助在静态和动态状态下保护敏感数据。
- 监视和自动化,可简化大规模部署的管理。
- 通过多种方式获取支持。
这些功能不需要额外成本,几乎不需要管理。 借助这些功能,用户可将注意力集中在如何快速进行应用开发、加快推向市场,而不需要投入时间和资源来管理虚拟机与基础结构。 此外,可以继续使用选择的开源工具和平台来开发应用程序,以提供业务所需的速度和效率,不需要学习新技能。
Azure Database for MySQL灵活服务器还支持预留实例。 如果生产工作负荷具有可预测的计算容量要求,预留实例可帮助节省成本。
有关Azure Database for MySQL灵活服务器上的最新更新,请参阅Azure Database for MySQL中的新增功能?
体系结构概述
灵活服务器部署选项提供三个计算层,这些计算层具有不同的计算和内存容量来支持数据库工作负荷:
- 可突发层最适合用于低成本开发工作负载和不需要持续全计算容量的低并发工作负载。
- 常规用途层和内存优化层更适用于需要高并发性、缩放性和可预测性能的生产工作负荷。
可以以低成本在弹性层上构建第一个应用,然后根据解决方案的需求调整规模。 有关详细信息,请参阅Azure Database for MySQL灵活的服务器服务层级。
使用灵活的服务器体系结构时,可以选择在单个可用性区域中或跨多个可用性区域实现高可用性。 灵活服务器最适用于:
- 简便的部署、简化扩展,以及在备份、高可用性、安全性和监控方面的低数据库管理开销。
- 需要社区版本的 MySQL 且具有更好的控制和自定义的应用程序开发。
- 具有本地冗余或区域冗余高可用性的生产工作负荷以及托管维护时段。
- 简化的开发体验。
可用性区域内和跨可用性区域的高可用性
Azure Database for MySQL 灵活服务器支持配置具有自动故障转移功能的高可用性。 此高可用性解决方案有助于确保提交的数据不会因故障而丢失,并且有助于改善应用程序的整体运行时间。
配置高可用性后,灵活服务器会自动预配和管理备用副本。 您需为主副本和辅助副本已预配的计算和存储资源付费。
提供了两种高可用性体系结构模型:
区域冗余高可用性:此选项提供完全隔离,并要求跨多个可用性区域配置基础结构冗余。 它提供最高级别的可用性,可抵御可用性区域内的任何基础结构故障,并且可接受整个可用性区域中的延迟。
支持多个可用性区域和区域冗余高级文件共享的一部分Azure区域提供区域冗余 HA。
本地冗余高可用性:此选项提供基础结构冗余,网络延迟较低,因为主服务器和备用服务器都位于同一可用性区域中。 它提供高可用性,且无需跨区域配置应用程序冗余。
你可以在提供 Azure Database for MySQL 灵活服务器实例的所有区域中启用本地冗余高可用性。
有关详细信息,请参阅 Azure Database for MySQL 中的高可用性。
具有托管维护时段的自动修补
该服务执行基础硬件、操作系统和数据库引擎的自动修补。 修补过程包括安全性和软件更新。 对于 MySQL 引擎,计划内维护版本还包括次要版本升级。
可以将修补计划配置为系统托管或定义自己的自定义计划。 在维护计划期间,将应用补丁,并且服务器可能需要重启。 通过使用自定义计划,可以预测修补周期,并选择对业务影响最小的维护时段。 该服务遵循持续集成和发布的每月发布计划。
有关详细信息,请参阅 Azure Database for MySQL 中的计划维护。
自动备份
Azure Database for MySQL灵活服务器服务会自动创建服务器备份并将其存储在用户配置的本地冗余或异地冗余存储中。 使用备份将服务器还原到备份保留期内的任何时间点。
可以配置 1 到 35 天的保持期。 默认值为 7 天。 所有备份都通过 AES 256 位加密进行加密。
有关详细信息,请参阅在 Azure Database for MySQL 中进行备份和还原。
网络隔离
若要连接到Azure Database for MySQL灵活服务器,有两个网络选项:
专用访问(虚拟网络集成):将Azure Database for MySQL灵活服务器部署到Azure虚拟网络中。 虚拟网络中的各个资源可通过专用 IP 地址进行通信。
如果需要以下功能,请选择虚拟网络集成:
- 使用专用 IP 地址从同一虚拟网络中的Azure资源连接到Azure Database for MySQL灵活服务器。
- 使用虚拟专用网络(VPN)或 Azure ExpressRoute,将非 Azure 资源连接到 Azure Database for MySQL 灵活服务器。
- 避免使用公共终结点。
公共访问(允许的 IP 地址):使用公共终结点部署Azure Database for MySQL灵活服务器。 公共终结点是可公开解析的 DNS 地址。 选择一系列 IP 地址,授予访问服务器的权限。 这些类型的权限称为“防火墙规则”。
有关详细信息,请参阅Azure Database for MySQL灵活服务器的连接和网络概念。
快速优化性能和规模
可以在一个月内花费很少的费用基于小型数据库构建第一个应用,然后根据解决方案的需求无缝调整规模。 存储缩放处于联机状态,支持Azure Database for MySQL灵活服务器的存储自动增长功能。
使用 Azure Database for MySQL 灵活服务器时,您可以在免费 IOPS 上限之上预配额外的每秒输入/输出操作数 (IOPS),并且无需依赖存储容量。 使用此功能,可以根据工作负载需求随时增加或减少预配的 IOPS 数量。 动态可伸缩性使得数据库能够以透明方式对不断变化的资源需求做出响应。 只需为所使用的资源付费。
有关详细信息,请参阅Azure Database for MySQL灵活的服务器服务层。
能够使用只读副本横向扩展读取工作负载
MySQL 是一种常用的数据库引擎,用于运行 Internet 规模的 Web 和移动应用程序。 客户将其用于在线教育、视频流式处理、数字支付解决方案、电子商务平台、游戏服务、新闻门户以及政府和医疗保健网站。 这些服务需要随着 Web 或移动应用程序流量的增加而提供服务和进行扩展。
应用程序通常使用 Java 或 PHP 开发,并且是其中之一:
- 迁移到在 Azure 虚拟机规模集或 Azure 应用服务上运行
- 容器化以在 Azure Kubernetes 服务 (AKS) 上运行
使用应用服务或 AKS 作为底层基础结构的虚拟机规模集可以即时预配新虚拟机并复制应用程序的无状态组件来满足请求,从而简化应用程序缩放。 但通常,数据库最终会成为一个瓶颈,成为集中式状态组件。
读取副本功能使您能够将数据从 Azure Database for MySQL 灵活服务器复制到一个只读服务器。 可将源服务器中的数据复制到最多 10 个副本。
通过 MySQL 引擎的基于二进制日志 (binlog) 文件位置的原生复制技术以异步方式更新副本。 可以使用类似于 ProxySQL 的负载均衡器代理解决方案,将应用程序工作负载无缝地扩展到只读副本数据节点,而无需任何应用程序重构成本。
有关详细信息,请参阅 Azure Database for MySQL 中的只读副本。
使用数据传入复制来实现混合或多云数据同步
使用数据传入复制功能将数据从外部 MySQL 服务器同步到Azure Database for MySQL灵活服务器。 外部服务器可以是本地、虚拟机或由其他云提供商托管的数据库服务。
数据输入复制的位置是基于 binlog 文件的。 请考虑使用以下主要方案来使用该功能:
- 混合数据同步
- 多云同步
有关详细信息,请参阅将数据复制到Azure Database for MySQL灵活服务器。
按需服务器停止和启动
使用Azure Database for MySQL灵活服务器,可以按需停止和启动服务器以优化成本。 服务器停止时,计算层计费会立即停止。 此功能可帮助在开发、测试和有时限的可预测生产工作负载期间节省成本。 除非你更快地重启服务器,否则服务器将保持停止状态 30 天。
有关详细信息,请参阅Azure Database for MySQL灵活服务器中的服务器概念。
企业级安全性、合规性和隐私
Azure Database for MySQL灵活服务器使用 FIPS 140-2 验证的加密模块来存储静态数据的加密。 运行查询时创建的数据(包括备份)和临时文件都经过加密。
该服务使用包含在 Azure 存储加密中的 AES 256 位密码,并且密钥可由系统进行管理(默认)。 还可以使用 Azure Key Vault 中存储的客户管理的密钥。 有关详细信息,请参阅 使用 Azure Database for MySQL 的客户托管密钥进行数据加密。
默认情况下,Azure Database for MySQL灵活服务器使用传输层安全性(TLS)加密动态数据。 该服务支持使用 TLS 1.2(默认)和 TLS 1.3(建议在 MySQL 8.0 及更高版本上使用)的加密连接。 使用 TLS 1.0 和 TLS 1.1 的所有传入连接都会被拒绝。 可以通过设置 require_secure_transport 服务器参数,然后设置服务器的最小 tls_version 值来关闭 TLS 强制实施。 有关详细信息,请参阅使用加密连接连接到Azure Database for MySQL灵活服务器。
Azure Database for MySQL灵活服务器允许通过虚拟网络集成对服务器进行完全专用访问。 只能通过专用 IP 地址访问和连接到虚拟网络中的服务器。 通过使用虚拟网络集成,可以拒绝公共访问,并且无法通过公共终结点访问服务器。 有关详细信息,请参阅Azure Database for MySQL灵活服务器的连接和网络概念。
监视和警报
Azure Database for MySQL灵活服务器具有内置的性能监视和警报功能。 所有 Azure 指标都有 1 分钟的频率。 每个指标提供 30 天的历史记录。
可针对指标配置警报。 Azure Database for MySQL灵活服务器公开主机服务器指标来监视资源利用率并允许配置慢查询日志。 通过使用这些工具,可快速优化工作负载并配置服务器以获得最佳性能。
在Azure Database for MySQL灵活服务器中,可以使用Azure Monitor工作簿可视化慢查询和审核日志数据。 你可以使用工作簿获取一个灵活的画布,用于分析数据,并在 Azure 门户中创建丰富的可视化报告。 适用于 MySQL 的 Azure 数据库灵活服务器提供三个工作簿模板:服务器概述、教程:使用适用于 MySQL 的 Azure 数据库灵活服务器配置审核日志,以及教程:查询适用于 MySQL 的 Azure 数据库的性能见解。
查询性能见解工作簿通过提供以下信息来帮助减少排查数据库性能问题所花费的时间:
- 排名靠前的长期查询及其趋势。
- 查询详细信息:查看查询文本以及包含最小、最大、平均和标准偏差查询时间的执行历史记录。
- 资源利用率(CPU、内存和存储)。
此外,还可以使用 Percona 监视和管理等社区监视工具,并将其与Azure Database for MySQL灵活服务器集成。
有关详细信息,请参阅监视Azure Database for MySQL灵活服务器。
迁移
Azure Database for MySQL灵活服务器运行 MySQL 的社区版本。 此设计选择可确保完整的应用程序兼容性,并且需要最少的重构成本,才能将 MySQL 引擎上开发的现有应用程序迁移到Azure Database for MySQL灵活服务器。 可以使用以下选项迁移到Azure Database for MySQL灵活服务器。
脱机迁移
当源和 Azure 之间的网络带宽良好(例如:高速 ExpressRoute 连接)时,使用 Azure 数据库迁移服务。 有关分步说明,请参阅教程:使用 DMS 将 MySQL 脱机迁移到 Azure Database for MySQL。
使用 mydumper 和 myloader 工具中的压缩设置,通过低速网络(如公共 Internet)有效地移动数据。 有关分步说明,请参阅使用 mydumper/myloader 将大型数据库迁移到 Azure Database for MySQL。
联机迁移或故障时间最短的迁移
对于在线或尽量缩短停机时间的迁移,请考虑使用社区工具(例如 mydumper/myloader)配合 导入复制,以便在切换期间让灵活服务器与外部 MySQL 源保持同步。 有关详细信息,请参阅使用开源工具将 Azure Database for MySQL - 单一服务器迁移到 Azure Database for MySQL 灵活服务器。
Azure 区域
Azure Database for MySQL灵活服务器目前在以下Azure区域中可用:
| 区域 | 可用性 | 本地冗余 HA | 区域冗余 HA | 异地冗余备份 |
|---|---|---|---|---|
| 中国东部 2 | 是 | 是 | 否 | 是 |
| 中国东部 3 | 是 | 是 | 否 | 是 |
| 中国北部 2 | 是 | 是 | 否 | 是 |
| 中国北部 3 | 是 | 是 | 是 | 是 |
反馈和支持
有关使用 Azure Database for MySQL 灵活服务器时可能提出的任何问题或建议,请考虑联系 Azure 支持部门, 在 Azure 门户中提出请求。