你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Database for MySQL - 灵活服务器
适用于:Azure Database for MySQL - 灵活服务器
由 MySQL 社区版提供支持的 Azure Database for MySQL 提供两种部署模式:
- 灵活服务器
- 单台服务器
本文概述和介绍了灵活服务器部署模型的核心概念。 若要了解如何确定适合工作负荷的部署选项,请参阅在 Azure 中选择合适的 MySQL 服务器选项。
概述
Azure Database for MySQL 灵活服务器是一种完全托管的生产就绪数据库服务,旨在针对数据库管理功能和配置设置提供更精细的控制和更大的灵活性。 灵活服务器体系结构允许用户选择单个可用性区域内以及跨多个可用性区域的高可用性。 灵活服务器提供了更好的成本优化控制,能够停止/启动服务器和可突增计算层,非常适合不需要连续的全部计算容量的工作负载。 灵活服务器还支持预留实例,最多可节省 63% 的成本,非常适合具有可预测计算容量要求的生产工作负载。 该服务支持 MySQL 5.7 和 8.0 的社区版。 目前,该服务已在各种 Azure 区域中正式发布。
灵活服务器部署选项提供三个计算层:可突发、常规用途和业务关键。 每个层提供不同的计算和内存容量以支持数据库工作负载。 可以在一个月内花费很少的费用基于可突发层构建第一个应用,然后根据解决方案的需求调整缩放。 动态可伸缩性使得数据库能够以透明方式对不断变化的资源需求做出响应。 只需在需要资源时为所需的资源付费。 有关详细信息,请参阅计算和存储。
灵活服务器最适合用于
- 方便了部署、简化了缩放,对于备份、高可用性、安全性和监视等功能,降低了数据库管理开销
- 需要社区版本的 MySQL 且具有更好的控制和自定义的应用程序开发
- 具有相同区域、区域冗余高可用性和托管维护时段的生产工作负载
- 简化的开发体验
- 企业级安全性、合规性和隐私
有关灵活服务器的最新资讯,请参阅 Azure Database for MySQL 灵活服务器中的新增功能。
12 个月免费产品/服务
利用 Azure 免费帐户,可以免费使用灵活服务器 12 个月,其中每月的限制如下:
- 750 小时的可突发 B1MS 实例,时长足以每月连续运行一个数据库实例。
- 32 GB 存储和 32 GB 备份存储 。
可以利用此套餐来开发和部署使用 Azure Database for MySQL 灵活服务器的应用程序。 若要了解如何使用 Azure 免费帐户免费创建和使用灵活服务器,请参阅此教程。
可用性区域内和跨可用性区域的高可用性
Azure Database for MySQL 灵活服务器支持为高可用性配置自动故障转移。 高可用性解决方案旨在确保提交的数据永远不会因故障而丢失,并提升应用程序的总体运行时间。 配置高可用性后,灵活服务器会自动预配和管理备用副本。 我们将对主要副本和次要副本的预配计算和存储计费。 有两种高可用性体系结构模型:
- 区域冗余高可用性 (HA) :此选项是跨多个可用性区域实现基础结构完全隔离和冗余的首选选项。 它提供最高级别的可用性,但需要你配置跨区域的应用程序冗余。 如果希望实现最高级别可用性以防可用性区域中出现任何基础结构故障,并且可接受整个可用性区域中的延迟,则首选区域冗余高可用性。 区域冗余高可用性在部分 Azure 区域中可用,这些地理区域支持多个可用性区域并且提供区域冗余高级文件共享。
- 相同区域高可用性 (HA):要实现网络延迟较低的基础结构冗余,此选项是首选选项,因为主服务器和备用服务器将位于同一可用性区域中。 它提供高可用性,且无需跨区域配置应用程序冗余。 如果希望在网络延迟最低的单个可用性区域中实现最高级别可用性,则首选相同区域 HA。 相同区域高可用性在所有 Azure 区域中可用,在这些区域中可以创建 Azure Database for MySQL - 灵活服务器。
有关详细信息,请参阅高可用性概念。
具有托管维护时段的自动修补
该服务执行基础硬件、OS 和数据库引擎的自动修补。 修补包括安全更新和软件更新。 对于 MySQL 引擎,次要版本升级也包括在计划内维护版本中。 用户可以将修补计划配置为系统托管或定义自己的自定义计划。 在维护计划期间,将应用补丁,并且在修补过程中,可能需要重启服务器才能完成更新。 使用自定义计划,用户可以使修补周期可预测,并选择对业务影响最小的维护时段。 一般来说,作为持续集成和发布的一部分,该服务遵循每月发布计划。
有关更多详细信息,请参阅计划性维护。
自动备份
灵活服务器服务可自动创建服务器备份并将其存储在用户本地配置的冗余或异地冗余存储中。 备份可用于将服务器还原到备份保持期内的任何时间点。 默认的备份保留期为七天。 可选择将保留期配置为 1-35 天。 所有备份都使用 AES 256 位加密进行加密。
有关详细信息,请参阅备份概念。
网络隔离
可以通过两个网络选项连接到 Azure Database for MySQL - 灵活服务器。 这两个选项是“专用访问(VNet 集成)”和“公共访问(允许的 IP 地址)” 。
专用访问(VNet 集成) - 可以将灵活服务器部署到 Azure 虚拟网络中。 Azure 虚拟网络提供专用的安全网络通信。 虚拟网络中的各个资源可通过专用 IP 地址进行通信。
如果需要以下功能,请选择“VNet 集成”选项:
- 使用专用 IP 地址从同一虚拟网络中的 Azure 资源连接到灵活服务器
- 使用 VPN 或 ExpressRoute 从非 Azure 资源连接到灵活服务器
- 无公共终结点
公共访问(允许的 IP 地址) - 可以通过公共终结点部署灵活服务器。 公共终结点是可公开解析的 DNS 地址。 “允许的 IP 地址”一词是指你选择向其授予访问服务器的权限的一系列 IP。 这些权限称为“防火墙规则”。
有关详细信息,请参阅网络概念。
几秒钟内调整性能和规模
灵活服务器服务在三个 SKU 层中提供:可突发、常规用途和业务关键。 可突发层最适合用于低成本开发和不需要持续全计算容量的低并发工作负载。 常规用途和业务关键更适用于需要高并发、缩放和可预测性能的生产工作负载。 可以在一个月内花费很少的费用在小型数据库上生成第一个应用,然后无缝调整规模以满足解决方案的需求。 存储缩放是联机的,支持存储自动增长。 灵活服务器使你能够在免费的 IOPS 限制之上预配额外的 IOPS,最高可达 20 K IOPS,而不依赖于存储。 使用此功能,你可以根据工作负载需求随时增加或减少预配的 IOPS 数。 动态可伸缩性使得数据库能够以透明方式对不断变化的资源需求做出响应。 只需为所使用的资源付费。
有关详细信息,请参阅计算和存储概念。
使用多达 10 个只读副本来横向扩展读取工作负载
MySQL 是一种常用的数据库引擎,用于运行 Internet 规模的 Web 和移动应用程序。 许多客户将其用于在线教育服务、视频流式处理服务、数字支付解决方案、电子商务平台、游戏服务、新闻门户、政府和医疗保健网站。 这些服务需要随着 Web 或移动应用程序流量的增加而服务和扩展。
在应用程序端,应用程序通常是用 Java 或 PHP 开发的,并迁移到 Azure 虚拟机规模集或 Azure 应用服务上运行,或者进行容器化以在 Azure Kubernetes 服务 (AKS) 上运行。 使用虚拟机规模集、应用服务或 AKS 作为底层基础结构,可以通过即时预配新的 VM 并复制应用程序的无状态组件来满足请求,以简化应用程序的缩放,但是数据库通常会成为集中式有状态组件的瓶颈。
使用只读副本功能可将数据从 Azure Database for MySQL - 灵活服务器复制到只读服务器。 可将源服务器中的数据复制到最多 10 个副本。 使用 MySQL 引擎的基于二进制日志 (binlog) 文件位置的原生复制技术以异步方式更新副本。 可以使用负载均衡器代理解决方案(例如 ProxySQL)将应用程序工作负载无缝横向扩展到只读副本,而不会产生任何应用程序重构成本。
有关详细信息,请参阅只读副本的概念。
使用数据传入复制来设置混合或多云数据同步
通过数据传入复制可以将数据从外部 MySQL 服务器同步到 Azure Database for MySQL Flexible 服务中。 外部服务器可以处于本地、虚拟机中、Azure Database for MySQL 单台服务器中或是其他云提供商托管的数据库服务。 复制中数据是基于二进制日志 (binlog) 文件位置。 可以考虑使用数据传入复制的主要场景有:
- 混合数据同步
- 多云同步
- 用最短的停机时间迁移到灵活服务器
有关详细信息,请参阅数据传入复制概念。
停止/启动服务器以优化成本
灵活服务器服务允许你根据需要停止和启动服务器以优化成本。 服务器停止后,计算层计费会立即停止。 这使你可在开发和测试期间以及针对有时限的可预测生产工作负载,节省大量成本。 服务器将保持停止状态 30 天(除非提前重启它)。
有关详细信息,请参阅服务器的概念。
企业级安全性、合规性和隐私
灵活服务器服务使用 FIPS 140-2 验证的加密模块对静态数据进行存储加密。 在运行查询时创建的数据(包括备份)和临时文件都会进行加密。 该服务使用包含在 Azure 存储加密中的 AES 256 位密码,并且密钥可由系统进行管理(默认)。
该服务使用默认实施的传输层安全性对动态数据进行加密。 默认情况下,灵活服务器支持使用传输层安全性 (TLS 1.2) 的加密连接,并且所有使用 TLS 1.0 和 TLS 1.1 的传入连接都将被拒绝。 可以通过设置 require_secure_transport 服务器参数来禁用 SSL 强制,并且可以为服务器设置最低 tls_version。
有关详细信息,请参阅如何使用与灵活服务器的加密连接。
灵活服务器允许使用 Azure 虚拟网络 (VNet) 集成对服务器进行完全私密的访问。 只能通过专用 IP 地址才能访问和连接 Azure 虚拟网络中的服务器。 使用 VNet 集成,公共访问遭到拒绝,使用公共终结点无法访问服务器。
有关详细信息,请参阅网络概念。
监视和警报
灵活服务器服务配备了内置的性能监视和警报功能。 所有 Azure 指标的频率都是一分钟,每个指标提供 30 天的历史记录。 可针对指标配置警报。 该服务公开主机服务器指标来监视资源利用率,允许配置慢速查询日志。 使用这些工具,可快速优化工作负载并配置服务器以获得最佳性能。 Azure Database for MySQL - 灵活服务器让你能够使用 Azure Monitor 工作簿直观显示慢速查询和审核日志数据。 你可以使用工作簿获取一个灵活的画布,用于分析数据,并在 Azure 门户中创建丰富的可视化报告。 Azure Database for MySQL - 灵活服务器提供了三个现成的可用工作簿模板,即服务器概述、审核和查询性能见解。 查询性能见解工作簿旨在通过提供以下信息来帮助你减少排查数据库性能问题所花费的时间:
- 前 N 个长时间运行的查询及其趋势。
- 查询详细信息:查看查询文本以及包含最小、最大、平均和标准偏差查询时间的执行历史记录。
- 资源利用率(CPU、内存和存储)。
此外,还可以将 Percona Monitoring and Management 等社区监视工具与 MySQL 灵活服务器配合使用和进行集成。
有关详细信息,请参阅监视的概念。
迁移
该服务运行 MySQL 的社区版本。 这可以实现完全的应用程序兼容性,并且只需最小的重构成本就能将在 MySQL 引擎上开发的现有应用程序迁移到灵活服务器。 可使用以下选项迁移到灵活服务器:
脱机迁移
- 在源与 Azure 之间的网络带宽状况良好(例如:高速 ExpressRoute)时使用 Azure 数据迁移服务。 通过分步说明了解详情 - 使用 DMS(Azure 数据库迁移服务)将 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 区域
在 Azure 中运行工作负载的一个优点是,它可覆盖全球范围。 现在,在以下 Azure 区域提供适用于 Azure Database for MySQL 的灵活服务器:
Region | 可用性 | 同一区域 HA | 区域冗余 HA | 异地冗余备份 |
---|---|---|---|---|
澳大利亚中部 | ✔️ | ✔️ | ❌ | ❌ |
澳大利亚东部 | ✔️ | ✔️ | ✔️ | ✔️ |
Australia Southeast | ✔️ | ✔️ | ❌ | ✔️ |
巴西南部 | ✔️ | ✔️ | ✔️ | ❌ |
加拿大中部 | ✔️ | ✔️ | ❌ | ✔️ |
加拿大东部 | ✔️ | ✔️ | ❌ | ✔️ |
印度中部 | ✔️ | ✔️ | ❌ | ✔️ |
美国中部 | ✔️ | ✔️ | ❌ | ✔️ |
中国东部 2 | ✔️ | ✔️ | ❌ | ❌ |
中国东部 3 | ✔️ | ✔️ | ❌ | ✔️ |
中国北部 2 | ✔️ | ✔️ | ❌ | ❌ |
中国北部 3 | ✔️ | ✔️ | ❌ | ✔️ |
东亚(香港) | ✔️ | ✔️ | ❌ | ✔️ |
美国东部 | ✔️ | ✔️ | ✔️ | ✔️ |
美国东部 2 | ✔️ | ✔️ | ❌ | ✔️ |
法国中部 | ✔️ | ✔️ | ❌ | ✔️ |
法国南部 | ✔️ | ✔️ | ❌ | ✔️ |
德国中西部 | ✔️ | ✔️ | ❌ | ✔️ |
Japan East | ✔️ | ✔️ | ✔️ | ✔️ |
日本西部 | ✔️ | ✔️ | ❌ | ✔️ |
韩国中部 | ✔️ | ✔️ | ✔️ | ✔️ |
韩国南部 | ✔️ | ✔️ | ❌ | ✔️ |
美国中北部 | ✔️ | ✔️ | ❌ | ✔️ |
北欧 | ✔️ | ✔️ | ✔️ | ✔️ |
挪威东部 | ✔️ | ✔️ | ❌ | ❌ |
挪威西部 | ✔️ | ✔️ | ❌ | ❌ |
卡塔尔中部 | ✔️ | ✔️ | ✔️ | ❌ |
南非北部 | ✔️ | ✔️ | ❌ | ❌ |
美国中南部 | ✔️ | ✔️ | ✔️ | ✔️ |
印度南部 | ✔️ | ✔️ | ❌ | ✔️ |
东南亚 | ✔️ | ✔️ | ❌ | ✔️ |
瑞典中部 | ✔️ | ✔️ | ❌ | ❌ |
瑞士北部 | ✔️ | ✔️ | ❌ | ✔️ |
瑞士西部 | ✔️ | ✔️ | ❌ | ✔️ |
阿拉伯联合酋长国北部 | ✔️ | ✔️ | ❌ | ❌ |
英国南部 | ✔️ | ✔️ | ❌ | ✔️ |
英国西部 | ✔️ | ✔️ | ❌ | ✔️ |
USGov Virginia | ✔️ | ✔️ | ❌ | ❌ |
US Gov 亚利桑那州 | ✔️ | ✔️ | ❌ | ✔️ |
US Gov 德克萨斯州 | ✔️ | ✔️ | ❌ | ✔️ |
美国中西部 | ✔️ | ✔️ | ❌ | ✔️ |
西欧 | ✔️ | ✔️ | ✔️ | ✔️ |
美国西部 | ✔️ | ✔️ | ❌ | ✔️ |
美国西部 2 | ✔️ | ✔️ | ❌ | ✔️ |
美国西部 3 | ✔️ | ✔️ | ❌ | ❌ |
联系人
如果有任何关于使用 Azure Database for MySQL - 灵活服务器的问题或建议,请发送电子邮件至 Azure Database for MySQL 团队 (@Ask Azure DB for MySQL)。 此电子邮件地址并不是技术支持别名。
另外,请酌情考虑以下联系点:
- 若要联系 Azure 支持,请从 Azure 门户提交票证。
- 若要修复帐户问题,请在 Azure 门户中提交支持请求。
- 若要提供反馈或请求新功能,请通过 UserVoice 创建条目。
后续步骤
现在,你已阅读 Azure Database for MySQL 单一服务器部署模式简介,接下来可以: