你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

从 Azure Database for MySQL 单一服务器就地自动迁移到灵活服务器

适用于:Azure Database for MySQL - 单一服务器

从 Azure Database for MySQL 单一服务器到灵活服务器的就地自动迁移是在计划内维护时段进行的服务启动型就地迁移,适用于具有基本、常规用途或内存优化 SKU、所用数据存储 <= 20 GiB 且未启用复杂功能(CMK、AAD、只读副本、专用链接)的单一服务器数据库工作负载。 符合条件的服务器由服务标识,并会提前收到通知,该通知会详细说明查看迁移详细信息的步骤。

就地迁移在计划内维护时段内提供高度可复原和自我修复的脱机迁移体验,并且故障时间不到 5 分钟。 它使用备份和还原技术来缩短迁移时间。 此迁移消除了手动迁移服务器的开销,并确保你可以利用灵活服务器的优势,包括更好的性价比、对数据库配置的精细控制以及自定义维护时段。 下面介绍了迁移的关键阶段:

  • 部署目标灵活服务器,从源单一服务器继承所有功能集和属性(包括服务器参数和防火墙规则)。 将源单一服务器设置为只读,将源单一服务器中的备份复制到目标灵活服务器。
  • DNS 交换机和直接转换在计划内维护时段内成功执行,停机时间最短,从而允许在迁移后维护相同的连接字符串。 客户端应用程序无缝连接到目标灵活服务器,无需用户驱动的任何手动更新。 迁移后的灵活服务器不仅支持两种连接字符串格式(单一服务器和灵活服务器),还支持两种用户名格式:username@server_name 和 username。
  • 迁移的灵活服务器联机,现在可以通过 Azure 门户/CLI 进行管理。 已停止的单一服务器将在迁移后七天删除。

注意

如果单一服务器实例具有常规用途 V1 存储,则计划实例将在计划迁移时间前 12 小时执行额外的重启操作。 此重启操作用于在进行就地自动迁移之前启用将实例升级到常规用途 V2 存储所需的 log_bin 服务器参数。

资格

  • 如果你拥有基本、常规用途或内存优化 SKU 、所用数据存储 <= 20 GiB 且未启用复杂功能(CMK、AAD、只读副本、专用链接)的单一服务器工作负载,则现在可以通过此表单提交你的服务器详细信息,指定自己(如果尚未由服务计划)进行自动迁移。

配置迁移警报并查看迁移计划

符合就地自动迁移条件的服务器会收到由服务提前发送的通知。

下面介绍了检查和配置自动迁移通知的方法:

  • 计划自动迁移的单一服务器的订阅所有者会收到电子邮件通知。
  • 配置服务运行状况警报,以便按照此处的步骤通过电子邮件/短信接收就地迁移计划和进度通知。
  • 按照此处的步骤,检查 Azure 门户上的就地迁移通知。

下面介绍了在收到就地自动迁移通知后查看迁移计划的方法:

注意

迁移计划将在计划的迁移时段前 7 天锁定,之后便无法再重新安排。

  • 实例的单一服务器概述页面将显示门户横幅,其中包含有关迁移计划的信息。
  • 对于计划进行自动迁移的单一服务器,门户上将亮起新的“迁移”边栏选项卡。 你可以通过导航到单一服务器实例的“迁移”边栏选项卡来查看迁移计划。
  • 如果要推迟迁移,可以在 Azure 门户上导航到单一服务器实例的“迁移”边栏选项卡,通过选择一个月内的另一个迁移时段来重新安排迁移,一次可推迟一个月。
  • 如果单一服务器具有常规用途 SKU,可以选择在查看迁移计划时启用高可用性。 由于只能在创建 MySQL 灵活服务器期间启用高可用性,因此强烈建议在查看迁移计划时启用此功能。

就地自动迁移的先决条件检查

  • 单一服务器实例应处于就绪状态,在计划内维护时段内不应处于停止状态,以便进行自动迁移。
  • 对于启用了 SSL 的单一服务器实例,请确保在受信任的根存储中具有三个证书(BaltimoreCyberTrustRootDigiCertGlobalRootG2 Root CADigiCertGlobalRootCA Root CA)。 此外,如果证书已固定到连接字符串,请在计划自动迁移之前创建包含全部三个证书的组合 CA 证书,以确保迁移后的业务连续性。
  • 如果查询中不存在“SORT”子句,MySQL 引擎不能保证任何排序顺序。 就地自动迁移后,你可能会观察到排序顺序的变化。 如果保留排序顺序至关重要,请确保查询更新为在计划的就地自动迁移之前包含“SORT”子句。
  • 如果源 Azure Database for MySQL 单一服务器具有引擎版本 v8.x,请确保将源服务器的 .NET 客户端驱动程序版本升级到 8.0.32,以避免迁移到灵活服务器后出现任何编码不兼容问题。
  • 如果源 Azure Database for MySQL 单一服务器具有超过 80 个字符的防火墙规则名称,请重命名它们以确保名称长度少于 80 个字符。 (灵活服务器上受支持的防火墙规则名称长度为 80 个字符,而在单一服务器上,允许的长度为 12 8 个字符。)

如何自动预配目标 MySQL 灵活服务器?

  • 请按照下表中的详细信息,根据源单一服务器的定价层和 VCore 数为目标灵活服务器预配计算层和 SKU。

    单一服务器定价层 单一服务器 VCore 数 灵活服务器层级 灵活服务器 SKU 名称
    基本 1 可突发 Standard_B1s
    基本 2 可突发 Standard_B2s
    常规用途 4 常规用途 Standard_D4ds_v4
    常规用途 8 常规用途 Standard_D8ds_v4
    常规用途 16 常规用途 Standard_D16ds_v4
    常规用途 32 常规用途 Standard_D32ds_v4
    常规用途 64 常规用途 Standard_D64ds_v4
    内存优化 4 内存优化 Standard_E4ds_v4
    内存优化 8 内存优化 Standard_E8ds_v4
    内存优化 16 内存优化 Standard_E16ds_v4
    内存优化 32 内存优化 Standard_E32ds_v4
  • 目标灵活服务器的 MySQL 版本、地区、*存储大小、订阅和资源组将与源单一服务器的相同。

  • 对于存储小于 20 GiB 的单一服务器,请将存储大小设置为 20 GiB,因为这是 Azure Database for MySQL - 灵活服务器的最低存储限制。

  • 迁移后的灵活服务器支持两种用户名格式 - username@server_name(单一服务器)和 username(灵活服务器)。

  • 迁移后的灵活服务器支持两种连接字符串格式 - 单一服务器和灵活服务器。

  • 对于启用了查询存储的单一服务器实例,目标实例上的服务器参数“slow_query_log”将设置为 ON,以确保迁移到灵活服务器时的功能奇偶一致性。 对于某些工作负载,这可能会影响性能,如果发现性能有所降低,请在灵活服务器实例上将此服务器参数设置为“OFF”。

迁移后的步骤

注意

迁移后不会重启已停止的单一服务器实例,因为它可能会妨碍客户端和应用程序的连接。

  • 成功完成就地迁移操作后,请将以下属性从源单一服务器复制到目标灵活服务器:
    • 监视页面设置(警报、指标和诊断设置)
    • 你托管的用于管理单一服务器实例的任何 Terraform/CLI 脚本都应使用灵活服务器引用进行更新。
  • 对于启用了查询存储的单一服务器实例,目标实例上的服务器参数“slow_query_log”将设置为 ON,以确保迁移到灵活服务器时的功能奇偶一致性。 请注意,对于某些工作负载,这可能会影响性能,如果发现性能有所降低,请在灵活服务器实例上将此服务器参数设置为“OFF”。
  • 对于已启用高级威胁防护的单服务器实例,请考虑在下表中配置自动迁移后的以下属性,以在自动迁移到 Azure Defender for Cloud 时保持奇偶校验:
属性 配置
properties.disabledAlerts 可以使用 Microsoft Defender for Cloud 平台禁用特定警报类型。 有关详细信息,请参阅禁止来自 Microsoft Defender for Cloud 的警报指南一文。
properties.emailAccountAdmins, properties.emailAddresses 可以为订阅中的所有资源集中定义 Microsoft Defender for Cloud 警报的电子邮件通知。 有关详细信息,请参阅快速入门:为安全警报配置电子邮件通知一文。
properties.retentionDays, properties.storageAccountAccessKey, properties.storageEndpoint Microsoft Defender for Cloud 平台通过 Azure Resource Graph 公开警报。 可以将警报导出到其他存储,并单独管理保留期。 有关连续导出的详细信息,请参阅在 Azure 门户 - Microsoft Defender for Cloud 中设置连续导出一文。

常见问题解答 (FAQ)

问: 我为什么会自动迁移?

A. Azure Database for MySQL 单一服务器实例可以就地迁移到我们的旗舰产品 Azure Database for MySQL 灵活服务器。 此就地迁移可消除手动迁移服务器的开销,并确保你可以利用灵活服务器的优势,包括更理想的价格和性能、对数据库配置的精细控制以及自定义维护时段。

问: 自动迁移是如何进行的? 它将迁移哪些东西?

A. 灵活服务器将会进行预配,以匹配单一服务器的 VCore 和存储。 接下来,将源单一服务器置于停止状态,获取数据文件快照并将其复制到目标灵活服务器。 执行 DNS 切换以将所有现有连接路由到目标,并将目标灵活服务器联机。 自动迁移活动将会迁移整个服务器的数据文件(包括架构、数据、登录信息),以及服务器参数(源上所有修改后的服务器参数都将复制到目标,未修改的服务器参数将采用灵活服务器定义的默认值)和防火墙规则。 这是一种脱机迁移,停机时间不会超过 5 分钟。

Q. 如何设置或查看就地迁移警报?

A. 以下是设置警报的方法:

  • 按照此处的步骤配置服务运行状况警报,以通过电子邮件/短信接收就地迁移计划和进度通知。
  • 按照此处的步骤检查 Azure 门户上的就地迁移通知。

Q. 如何推迟计划的迁移?

A. 你可以通过导航到单一服务器实例的“迁移”边栏选项卡来查看迁移计划。 如果要推迟迁移,可以在 Azure 门户上导航到单一服务器实例的“迁移”边栏选项卡,通过选择一个月内的另一个迁移时段来重新安排迁移,最多可推迟一个月。 迁移详细信息将在计划的迁移时段前 7 天锁定,之后便无法再重新安排。 此就地迁移可以每月推迟,但最晚不超过 2024 年 9 月 16 日。

Q. 迁移后的灵活服务器支持哪些用户名和连接字符串? ​​

A. 迁移后的灵活服务器支持两种用户名格式,即 username@server_name(单一服务器格式)和 username(灵活服务器格式),因此你无需在迁移后更新它们即可保持应用程序的连续性。 此外,迁移后的灵活服务器还支持单一服务器格式和灵活服务器格式两种连接字符串格式。

Q. 如何为自动迁移的服务器启用 HA(高可用性)?

A. 默认情况下,自动迁移会设置为迁移到非 HA 实例。 由于 HA 只能在创建服务器时启用,因此应在执行计划的自动迁移之前使用门户上的自动迁移计划编辑选项启用 HA。 只能针对目标灵活服务器上的常规用途\内存优化 SKU 启用 HA,因为基本到可突发 SKU 迁移不支持 HA 配置。

Q. 我发现从 MySQL 基本单一服务器迁移到 MySQL 灵活服务器时可能会存在定价差异?

A. 在迁移后,有极少数的服务器可能会存在小幅的价格上涨(可以通过单击门户上的自动迁移计划编辑选项来查看估计成本),这是因为两种产品/服务的存储下限不同(单一服务器为 5 GiB,灵活服务器为 20 GiB),灵活服务器的存储成本要略高于单一服务器(单一服务器为 0.1 美元,灵活服务器为 0.115 美元)。 对于受影响的服务器,灵活服务器的这种价格上涨可提供比单一服务器更好的吞吐量和性能

后续步骤