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

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

重要

某些单一服务器实例可能需要强制输入才能成功进行就地自动迁移。 在 Azure 门户的“迁移”边栏选项卡中查看迁移详细信息,以提供这些输入。 在计划迁移前 2 天未能提供强制输入将导致将迁移重新计划到以后的日期。

从 Azure Database for MySQL - 单一服务器到灵活服务器的就地自动迁移是在计划内维护时段进行的服务启动型就地迁移,适用于具有基本、常规用途或内存优化 SKU未启用复杂功能(只读副本、虚拟网络、服务终结点/VNet 规则)的单一服务器数据库工作负荷。 符合条件的服务器由服务标识,并会提前收到通知,该通知会详细说明查看迁移详细信息的步骤。

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

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

注意

如果单一服务器实例具有基本 SKU,则计划实例将迁移,停机时间最长为 30 分钟。 该实例将迁移到更高的常规用途 SKU,以确保成功迁移,并在 24-48 小时内缩减为可突发 SKU。 如果迁移到可突发 SKU 后,由于 CPU 工作负荷过大,实例会耗尽信用额度,请考虑升级到灵活服务器实例上的常规用途 SKU。

注意

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

资格

如果拥有未启用复杂功能(只读副本、虚拟网络、服务终结点/VNet 规则)的单一服务器工作负荷,则现在可以通过此表单提交服务器详细信息来指定自己(如果服务尚未计划)进行自动迁移。

为了使不符合条件的服务器有资格进行自动迁移,请执行以下步骤:

  • 单一服务器实例应处于就绪状态,在计划内维护时段内不应处于停止状态,以便进行自动迁移。
  • 如果源 Azure Database for MySQL 单一服务器具有引擎版本 v8.x,请确保将源服务器的 .NET 客户端驱动程序版本升级到 8.0.32,以避免迁移到灵活服务器后出现任何编码不兼容问题。
  • 如果源 Azure Database for MySQL 单一服务器的引擎版本为 v8.x,请确保在迁移之前将源服务器的 TLS 版本从 v1.0 或 v1.1 升级到 TLS v1.2,因为较旧的 TLS 版本已对灵活服务器弃用。
  • 如果服务器具有只读副本,请删除只读副本。 可在自动迁移后配置只读副本。
  • 如果服务器启用了服务终结点(VNet 规则)或虚拟网络配置,请考虑删除它们或者移动到单一服务器实例上的专用链接功能。

配置迁移警报

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

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

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

查看迁移计划

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

注意

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

  • 实例的单一服务器概述页面将显示门户横幅,其中包含有关迁移计划的信息。

  • 对于计划进行自动迁移的单一服务器,门户上将亮起新的“迁移”边栏选项卡。 你可以通过导航到单一服务器实例的“迁移”边栏选项卡来查看迁移计划。

  • 如果要推迟迁移,可以在 Azure 门户上导航到单一服务器实例的“迁移”边栏选项卡,通过选择一个月内的另一个迁移时段来重新安排迁移,一次可推迟一个月。

  • 如果单一服务器具有常规用途 SKU,可以选择在查看迁移计划时启用高可用性。 由于只能在创建 MySQL 灵活服务器期间启用高可用性,因此强烈建议在查看迁移计划时启用此功能。

  • 如果单一服务器实例启用了一个或多个专用链接、客户管理的密钥 (CMK) 和 Microsoft Entra 管理员,则就地自动迁移时必须输入专用终结点、CMK 和 Microsoft Entra 管理员才能从单一服务器实例迁移到目标灵活服务器实例。 用户输入必须在计划迁移维护时段前 2 天提供。 如果在锁定迁移详细信息之前未提供用户输入,则迁移将重新安排到较晚的时间点。 在提供所有输入后,请确保在自动迁移向导中“保存”配置。 提供用户输入的步骤:

    • 导航到单一服务器实例的“迁移”边栏选项卡,然后选择“编辑”计划迁移
    • 在“自动迁移详细信息”部分中,单击“身份验证”按钮进行身份验证,并保存 ARM API 连接以迁移服务器
    • 如果服务器配置了 Microsoft Entra 管理员,则可以在自动迁移向导中的“Microsoft Entra 管理员”部分下提供输入
      • 迁移目标服务器的 Microsoft Entra 管理员需要将标识添加到 Azure Database for MySQL - 灵活服务器。 标识需要授予以下权限 User.Read.All、GroupMember.Read.All 和 Application.Read.All。 请选择适当的用户分配的托管标识
    • 如果服务器配置了客户管理的密钥,则可以在自动迁移向导的“数据加密”部分下提供输入
      • 迁移客户管理的密钥加密需要 将标识添加到 Azure Database for MySQL - 灵活服务器。 请选择适当的用户分配的托管标识。 列出的密钥标识符/密钥将从源服务器迁移到目标服务器,并应被授予以下权限:获取、包装密钥、解包密钥,才能访问密钥保管库。
    • 如果单一服务器有专用终结点,则在计划迁移前至少 2 天查看迁移计划时,请执行以下强制步骤:
      • 查看列出的要迁移的专用终结点。 确保它们被标记为“准备迁移”。 如果它们被标记为“不符合资格”,请选择相应的订阅和专用 DNS 区域。
        • 自动迁移不支持自定义专用 DNS 区域。 专用 DNS 区域必须为 privatelink.mysql.database.chinacloudapi.cn
        • 专用终结点连接审批方法应设置为自动审批,而不是手动审批。 自动迁移不支持手动审批专用终结点。
      • 确保具有订阅级别或资源组级别参与者角色访问权限,以避免身份验证时出现任何权限问题。
      • 执行列出的迁移专用终结点的先决条件检查后,选中“确认复选框”

    注意

    如果在计划迁移前至少 2 天内未提供迁移的必需输入,则会将迁移重新安排到以后的日期。

    注意

    对于具有专用终结点的单一服务器实例,在迁移验证后删除单一服务器源实例。 如果未执行服务器删除操作,则源实例将一直保留到 14 天后,然后服务将删除该实例。

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

请查看以下先决条件,确保就地自动迁移成功:

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

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

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

单一服务器定价层 单一服务器 VCore 数 灵活服务器层级 灵活服务器 SKU 名称
基本 1 可突发 Standard_B1s
基本 2 可突发 Standard_B2s
常规用途 2 常规用途 Standard_D2ds_v4
常规用途 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”。
  • 对于具有专用终结点的单一服务器实例,在迁移验证后删除单一服务器源实例。 如果未执行服务器删除操作,则源实例将一直保留到 14 天后,然后服务将删除该实例。

常见问题解答 (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),灵活服务器的存储成本要略高于单一服务器。 对于受影响的服务器,灵活服务器的这种价格上涨可提供比单一服务器更好的吞吐量和性能。