什么是 Azure Database for MySQL 灵活服务器?
本文概述并介绍了灵活服务器部署模型的核心概念。 若要了解适合工作负载的部署选项,请参阅在 Azure 中选择合适的 MySQL 服务器选项。
Azure Database for MySQL - 灵活服务器是云中完全托管的生产就绪型关系数据库服务。 它基于 MySQL 社区版(根据 GPLv2 许可提供)数据库引擎版本 5.6(已停用)、5.7 和 8.0。 通过该服务,可对数据库管理功能和配置设置进行更精细的控制并更灵活操作。 它已在各个 Azure 区域中正式发布。
Azure Database for MySQL 灵活服务器提供:
- 区域冗余和相同区域高可用性 (HA)。
- 计划维护时段的能力。
- 使用自动备份和时间点还原对数据进行长达 35 天的保护。
- 自动修补和维护基础硬件、操作系统和数据库引擎,帮助使服务保持安全和最新状态。
- 在几秒钟内实现弹性缩放。
- 成本优化控制,具有低成本可突发计算层并能够停止和启动服务器。
- 可帮助保护静态和动态敏感数据的企业级安全性、合规性和隐私。
- 监视和自动化,可简化大规模部署的管理。
- 通过多种方式获取支持。
这些功能不需要额外成本,几乎不需要管理。 借助这些功能,用户可将注意力集中在如何快速进行应用开发、加快推向市场,而不需要投入时间和资源来管理虚拟机与基础结构。 此外,可以继续使用选择的开源工具和平台来开发应用程序,以提供业务所需的速度和效率,不需要学习新技能。
有关 Azure Database for MySQL 灵活服务器的最新更新,请参阅 Azure Database for MySQL 中的新增功能。
体系结构概述
灵活服务器部署选项提供三个计算层,具有不同的计算和内存容量来支持数据库工作负载:
- 可突发层最适合用于低成本开发工作负载和不需要持续全计算容量的低并发工作负载。
- 常规用途和业务关键层更适用于需要高并发、缩放和可预测性能的生产工作负载。
可以花费很少的费用基于可突发层构建第一个应用,然后根据解决方案的需求调整规模。 有关详细信息,请参阅 Azure Database for MySQL 灵活服务器服务层级。
当使用灵活服务器体系结构时,可以选择在单个可用区域内或跨多个可用区域实现高可用性。 灵活服务器最适用于:
- 轻松部署、简化的缩放,以及备份、高可用性、安全性和监视的低数据库管理开销。
- 需要社区版本的 MySQL 且具有更好的控制和自定义的应用程序开发。
- 具有相同区域或区域冗余高可用性以及托管维护时段的生产工作负载。
- 简化的开发体验。
可用性区域内和跨可用性区域的高可用性
Azure Database for MySQL 灵活服务器支持为高可用性配置自动故障转移。 高可用性解决方案可帮助确保提交的数据不会因故障而丢失,并帮助改进应用程序的总体运行时间。
配置高可用性后,灵活服务器会自动预配和管理备用副本。 我们将对主要副本和次要副本的预配计算和存储计费。
有两种高可用性体系结构模型:
区域冗余高可用性:此选项提供完全隔离,并要求跨多个可用性区域配置基础结构冗余。 它提供最高级别的可用性,可抵御可用性区域内的任何基础结构故障,并且可接受整个可用性区域中的延迟。
区域冗余高可用性在部分 Azure 区域中可用,这些区域支持多个可用性区域和区域冗余高级文件共享。
相同区域高可用性:由于主服务器和备用服务器都位于同一可用性区域,因此此选项提供了具有较低网络延迟的基础结构冗余。 它提供高可用性,且无需跨区域配置应用程序冗余。
相同区域高可用性在所有 Azure 区域中可用,在这些区域中可以创建 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 灵活服务器的存储自动增长功能。
可以在独立于存储超出免费 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 灵活服务器中。 外部服务器可以处于本地、虚拟机中、Azure Database for MySQL 单台服务器中或是其他云提供商托管的数据库服务。
数据传入复制的位置基于 binlog 文件。 要考虑使用该功能的主要应用场景包括:
- 混合数据同步
- 多云同步
- 在最短的停机时间内迁移到 Azure Database for MySQL 灵活服务器
有关详细信息,请参阅将数据复制到 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) 加密动态数据。 Azure Database for MySQL 灵活服务器支持使用 TLS 1.2 的加密连接。 使用 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 门户中创建丰富的可视化报告。 Azure Database for MySQL 灵活服务器提供三个工作簿模板:服务器概述、教程:使用 Azure Database for MySQL 灵活服务器配置审核日志,以及教程:Azure Database for MySQL 灵活服务器的查询性能见解。
查询性能见解工作簿通过提供以下信息来帮助减少排查数据库性能问题所花费的时间:
- 排名靠前的长期查询及其趋势。
- 查询详细信息:查看查询文本以及包含最小、最大、平均和标准偏差查询时间的执行历史记录。
- 资源利用率(CPU、内存和存储)。
此外,还可以使用 Percona Monitoring and Management 等社区监视工具,并将它们与 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 一致备份和还原配合使用,以便进行初始种子设定。 有关分步说明,请参阅使用开放源代码工具将 Azure Database for MySQL 单一服务器迁移到 Azure Database for MySQL 灵活服务器。
若要通过 5 个简单的步骤从 Azure Database for MySQL 单一服务器迁移到 Azure Database for MySQL 灵活服务器,请参阅此博客。
有关详细信息,请参阅选择正确的工具以迁移到 Azure Database for MySQL。
Azure 区域
Azure Database for MySQL 灵活服务器当前已在以下 Azure 区域推出:
区域 | 可用性 | 相同区域高可用性 | 区域冗余 HA | 异地冗余备份 |
---|---|---|---|---|
中国东部 2 | ✔️ | ✔️ | ❌ | ✔️ |
中国东部 3 | ✔️ | ✔️ | ❌ | ✔️ |
中国北部 2 | ✔️ | ✔️ | ❌ | ✔️ |
中国北部 3 | ✔️ | ✔️ | ✔️ | ✔️ |
反馈和支持
有关使用 Azure Database for MySQL 灵活服务器的任何问题或建议,请考虑联系 Azure 支持部门,并从 Azure 门户提交工单。