文档

升级步骤

更新时间:

本章节介绍了PolarDB MySQL版集群之间升级的操作步骤。

前置检查

说明

若您已完成升级评估并且无相关异常,可跳过该前置检查。

检查是否已创建PolarDB服务关联角色

在升级之前,请先检查是否已创建PolarDB服务关联角色,以及是否已授予DTS访问云资源的权限

检查是否已创建PolarDB服务关键角色的操作步骤如下:

  1. 前往RAM控制台

  2. 在左侧导航栏,选择身份管理>角色

  3. 在角色列表中,查看是否已存在名为AliyunServiceRoleForPolarDB的服务关联角色。

  4. 单击创建角色

  5. 在打开的创建角色对话框中,选择阿里云服务,并单击下一步创建角色

  6. 角色类型选择服务关联角色,云服务选择云数据库PolarDB配置角色

  7. 单击完成,返回角色列表,确保已创建成功。

删除源PolarDB MySQL版集群中多余系统账号

为了避免迁移后目标PolarDB MySQL版集群的系统账号被覆盖,源PolarDB MySQL版集群中不允许同时存在root和aliyun_root账号。因此,在进行迁移升级前,请先删除源集群中多余的系统账号。

PolarDB MySQL版各个版本的正确系统账号名如下:

PolarDB MySQL版版本

正确的系统账号名

PolarDB MySQL版 5.6

root

PolarDB MySQL版 5.7

aliyun_root

PolarDB MySQL版 8.0

root

各个版本除了对应的系统账号之外,其余系统账号均需删除。

说明

账号可能是用户创建的,也可能是系统创建并因版本升级而遗留的,某些场景下不会在控制台显示。

以清理PolarDB MySQL版5.6多余的系统账号为例,具体删除步骤如下:

  1. 使用高权限账号连接数据库集群

  2. 找到所有的root和aliyun_root系统账号。

    select * from mysql.user where user in ('root', 'aliyun_root');
  3. 删除多余的系统账号。PolarDB MySQL版5.6正确的系统账号是root,因此需要删除aliyun_root账号。

    delete from mysql.user where user = 'aliyun_root' limit n; 

智能压测(可选)

在执行大版本升级之前,您可以使用该智能压测功能,模拟演练您的业务流量运行在目标版本的PolarDB实例上的场景,帮助您:

  • 验证您的实例规格是否需要扩容,以有效应对业务流量高峰;

  • 分析原版本和目标版本的PolarDB实例在SQL模板方面的执行性能差异等。

智能压测详细操作步骤请参见智能压测

步骤一:从PolarDB升级迁移

通过该步骤,您将创建一个与源PolarDB MySQL版集群数据相同的集群,源PolarDB MySQL版集群的增量数据会实时同步至该集群。

说明

在开始迁移前,建议您先完成升级评估

  1. 登录PolarDB控制台

  2. 进入集群购买页面。您可以通过以下两种方式中的任意一种方式进入购买页:

    • 单击创建新集群

    • 单击需要执行升级操作的集群ID,在左侧导航栏,选择配置与管理 > 版本管理。在大版本升级页签,单击迁移升级

  3. 计费类型选择包年包月按量付费

    • 包年包月:在创建集群时支付计算节点的费用,而存储空间会根据实际数据量按小时计费,并从账户中按小时扣除。

    • 按量付费:无需预先支付费用,计算节点和存储空间(根据实际数据量)均按小时计费,并从账户中按小时扣除。

      说明

      关于包年包月和按量付费的详细对比,请参考计算节点计费方式对比,并选择适用您业务场景的商品类型。

  4. 根据实际使用场景,设置以下参数。

    说明

    以下表格中未详细介绍的参数, 请参考购买PolarDB集群相关章节:购买按量付费集群购买包年包月集群

    参数

    说明

    创建方式

    选择PolarDB升级迁移

    地域

    选择源PolarDB MySQL版集群所在地域。

    PolarDB版本

    PolarDB MySQL版集群的版本。您可以选择5.6、5.7或8.0。

    PolarDB集群

    选择源PolarDB MySQL版集群。

    数据库引擎

    目标集群的数据库引擎版本。

      说明
      • 版本之间升级时,您可以选择与源集群相同的版本,也可以选择跨版本。

      • 架构之间升级时,必须选择MySQL 8.0

    产品版本

    与原集群的产品版本保持一致,无需选择。

    系列

    目标集群的系列。

      说明
      • 版本之间升级时,选择集群版【推荐】

      • 架构之间升级时,选择多主集群(库表)

    CPU架构

    与原集群的CPU架构保持一致,无需选择。

    节点个数

    与原集群的节点个数保持一致,无需选择。

    主可用区

    目标集群的主可用区。

    开启热备集群

    选择是否开启热备集群。

    • 如果开启存储热备集群,PolarDB会在当前地域内同时部署主集群(包含互备计算节点+主存储)和存储热备集群,主集群和存储热备集群各保证3副本数据(共6副本数据),具有更高的SLA可靠性保障。

    • 如果关闭存储热备集群,则仅保留主集群(3副本数据),存储单价是开启存储热备集群单价的1/2。集群的SLA也会降低。

    备可用区

    目标集群的备可用区。

    子系列

    选择目标集群的子系列。

    企业版支持通用规格独享规格两种子系列:

    • 独享规格:每个集群会独占所分配到的计算资源(如CPU),而不会与同一服务器上的其他集群共享资源,性能更加稳定可靠。

    • 通用规格:同一服务器上的不同集群,会互相充分利用彼此空闲的计算资源(如CPU),通过复用计算资源享受规模红利,性价比更高。

    关于两种子系列类型的详细对比,请参见如何选择通用规格和独享规格

    当前选择规格

    目标集群的节点规格。

    数据库代理类型

    与原集群的数据库代理规格保持一致,无需选择。

    存储类型

    选择目标集群的存储类型。

    PolarDB支持PSL5PSL4两种存储类型:

    • PSL5PolarDB历史版本中支持的存储类型,即2022年06月07日之前购买的PolarDB集群默认的存储类型。性能好,可靠性和可用性更强。

    • PSL4PolarDB全新推出的存储类型,采用阿里巴巴自研的硬件压缩盘(Smart-SSD)技术,在物理SSD磁盘层面压缩、解压缩存储的数据,保持性能影响可控的情况下,使单位容量数据的存储价格更低。

      说明

      对于已创建的集群,存储类型不支持切换。如需切换存储类型,建议您购买一个新的集群并配置预期的存储类型,将原有集群的数据迁移到新集群即可。

    关于两种存储类型的详细对比,请参见如何选择PSL4和PSL5

    存储引擎

    选择目标集群的存储引擎。

    PolarDB支持InnoDBInnoDB & 高压缩引擎两种引擎类型。

    • InnoDB:InnoDB引擎。

    • InnoDB & 高压缩引擎::InnoDB和X-Engine混合部署引擎。选择该选项后,可以设置高压缩引擎的比例。关于高压缩引擎的更多信息,请参见高压缩引擎(X-Engine)介绍

    存储计费类型

    目标集群的存储计费类型。当前PolarDB支持的存储计费类型如下:

    说明

    推荐购买存储包,更划算。详情请参见什么是存储包

    存储空间

    选择目标集群的存储空间。

    说明

    仅当存储计费类型按空间计费(包年包月)时,支持配置该参数。

  5. 单击下一步:集群配置。并设置以下参数。

    参数

    说明

    集群名称

    选择自动生成集群名称或自定义集群名称。

    • 如果选择自动生成集群名称,集群创建成功后系统将自动生成一个集群名称,自动生成的集群名称用户还可以修改;

    • 如果选择自定义集群名称,集群名称需满足如下要求:

      • 不能以http://https://开头。

      • 长度为2~256个字符。

      • 以大写字母、小写字母或中文开头,可包含数字、“.”、“_”或“-”。

    资源组

    从已创建资源组中选择一个目标资源组。

    网络类型

    网络类型固定为专有网络,无需选择。您需要配置VPC网络和交换机。

    • 如果您已创建符合您网络规划的VPC,直接选择该VPC。例如,如果您已创建ECS,且该ECS所在的VPC符合您的规划,那么选择该VPC。

    • 如果您未创建符合您网络规划的VPC,您可以使用默认VPC和交换机:

      • 默认VPC:

        • 在您选择的地域中是唯一的。

        • 网段掩码是16位,如192.168.0.0/16,最多可提供65536个私网IP地址。

        • 不占用阿里云为您分配的VPC配额。

      • 默认交换机:

        • 在您选择的可用区中是唯一的。

        • 网段掩码是20位,如192.168.0.0/20,最多可提供4096个私网IP地址。

        • 不占用VPC中可创建交换机的配额。

    • 如果以上默认VPC和交换机无法满足您的要求,您可以自行创建VPC和交换机,详情请参见创建和管理专有网络

    是否开启Binlog

    选择是否开启Binlog。关于Binlog的更多介绍请参见开启Binlog

    删除(释放)集群时

    设置删除(释放)集群时的备份保留策略。

    • 保留最后一个备份(释放前自动备份)(默认):删除集群时保留最后一个备份。

    • 保留全部备份:删除集群时保留所有备份。

    • 不保留备份(释放后无法恢复):删除集群时不保留任何备份。

  6. 单击下一步:确认订单

  7. 检查集群配置信息,设置购买时长(针对包年包月集群)、购买数量是否自动续费

  8. 阅读并勾选服务协议。单击立即购买

  9. 支付页面,确认未支付订单信息和支付方式,单击订购

    说明
    • 支付成功后,需要等待10~15分钟创建集群,之后您就可以在集群列表中看到新创建的集群。

    • 当集群中的节点状态为创建中时,整个集群可能仍未创建完成,此时集群不可用。只有当集群状态为运行中时,集群才可以正常使用。

    • 请确认已选中正确的地域,否则无法看到您创建的集群。

  10. 集群创建成功后,单击集群ID进入集群基本信息页。

  11. 基本信息页的PolarDB升级功能区域,确认目标PolarDB集群的复制延迟小于60秒即可进行操作。复制延迟小于60秒

    说明
    • 集群创建后,DTS开始从源PolarDB集群同步数据,您需要在30天内完成升级,超过30天将自动关闭升级功能。

    • 您可以在该区域选择放弃升级,放弃升级后的影响请参见常见问题

    • 若状态显示为预检查失败,请根据错误信息进行处理。预检查失败

      例如,如果源PolarDB集群中创建了触发器,则预检查会失败并报错“PolarDB集群存在触发器”。请先删除PolarDB的触发器,再单击继续升级,或单击放弃升级后手动在DTS控制台页面创建迁移任务。具体可参见源库存在触发器时如何配置同步作业

    • 架构升级时,目标集群默认的写入点为MasterID=1的RW节点,为确保DTS数据同步任务的正常运行,在升级完成之前,始终保持在该RW节点进行写入。

步骤二:升级切换

目标PolarDB集群的复制延迟小于60秒时,即可进行升级切换操作。

  1. 登录PolarDB控制台

  2. 找到目标集群,单击集群ID。

  3. 基本信息页面的PolarDB升级功能区域,单击升级切换升级切换

    说明
    • 一般情况下,升级在5分钟之内即可完成。

    • 该操作将交换源PolarDB集群和目标PolarDB集群的读写状态,即将源PolarDB集群修改为只读,将目标PolarDB集群修改为可读可写。同时,DTS会更换数据复制方向,即将目标PolarDB集群的新增数据同步到源PolarDB集群。

  4. 升级切换对话框中,选择带地址切换(应用程序不用改连接配置)不带地址切换(应用程序需要改为新的PolarDB连接配置)

    • 若您选择带地址切换(应用程序不用改连接配置),操作步骤如下:

      1. 选中带地址切换(应用程序不用改连接配置)。系统会自动交换源PolarDB和目标PolarDB上的连接地址,您无需在应用程序端修改任何配置即可自动连接到目标PolarDB集群。

        重要
        • 选择带地址切换(应用程序不用改连接配置)前,请务必阅读带地址切换注意事项

        • 如果待升级的PolarDB集群是已有数据传输服务(DTS)的源集群或目标集群,则升级后需要将该DTS任务的源或目标集群修改为升级后的PolarDB集群。如数据同步任务、数据迁移任务以及数据订阅任务等。具体请参见修改DTS任务对象

      2. 单击确定。

    • 若您选择不带地址切换(应用程序需要改为新的PolarDB连接配置),操作步骤如下:

      1. 勾选不带地址切换(应用程序需要改为新的PolarDB连接配置)。

      2. 单击确定。

      3. 刷新页面,当目标PolarDB读写状态显示为读写后,尽快修改应用中的数据库连接地址。

说明
  • 升级切换完成后,如果您发现数据存在异常等问题,可以进行回滚操作,快速恢复至升级前的状态也可以选择升级回滚

  • 架构升级完成并切换完成后,为避免DTS数据同步任务异常,请务必不要修改目标多主集群(库表)的写入点。

步骤三:完成升级

完成步骤一:从PolarDB升级后,您需要在30天内完成升级操作。

重要
  • 请确保在单击完成升级前,数据已完成迁移,并且后续不再使用数据同步功能。

  • 由于该操作会中断源PolarDB集群和目标PolarDB集群间的数据同步任务,且不再提供升级回滚功能,建议您使用一段时间目标PolarDB集群,确认正常后再执行完成升级操作。

  1. 登录PolarDB控制台

  2. 找到目标集群,单击集群ID。

  3. 基本信息页面的PolarDB升级功能区域,单击完成升级

  4. 完成升级对话框中,您可以选择是否关闭PolarDB集群的Binlog,并单击确定

    说明
    • 单击确定后,系统将在2分钟之内中断同步关系,升级状态将显示为关闭同步

    • 如果您选择了关闭Binlog,PolarDB集群会自动重启使新配置生效。

    • 如果不再需要源PolarDB集群,可以选择释放源PolarDB集群。释放集群详情请参见释放集群

    • 如果您执行的是架构升级操作,在完成升级对话框中单击确定后,目标集群的写入点将恢复至初始状态,即数据库将随机指定RW节点为写入点。

查看数据同步任务详情(可选)

在版本升级的过程中,若升级报错或出现其他异常时,您可以前往对应的DTS数据同步任务详情页查看数据同步任务的详细信息。

  1. 登录PolarDB控制台

  2. 找到目标集群,单击集群ID。

  3. 基本信息页面的PolarDB升级功能区域,单击DTS数据同步任务的任务名称,进入DTS控制台的数据同步任务列表。查看数据同步任务详情

  4. 在数据同步任务列表中,找到对应的数据同步任务,您可以查看同步任务详情和同步任务日志等。

  5. 在升级过程中,如果需求有调整(如源PolarDB集群有新增库时,需要将新增加的库也纳入同步对象),您可以单击修改同步对象来重新配置。

升级回滚(可选)

在完成升级之前,如果您发现数据存在异常等问题,可以执行升级回滚操作,将集群快速恢复至升级前的状态(源PolarDB集群为可读可写,目标PolarDB集群为只读,同时会将源PolarDB集群的数据同步至目标PolarDB集群)。升级回滚完成后,如果需要继续执行大版本升级操作,您可以直接从步骤二:升级切换操作开始执行。

  1. 登录PolarDB控制台

  2. 找到目标集群,单击集群ID。

  3. 基本信息页面的PolarDB升级功能区域,单击升级回滚

  4. 在开始回切对话框中,选择带地址回切(应用程序不用改连接配置)不带地址回切(应用程序需要改为源集群连接配置)

    • 若您选择带地址回切(应用程序不用改连接配置),操作步骤如下:

      1. 选中带地址回切(应用程序不用改连接配置),系统会自动交换源PolarDB集群和目标PolarDB集群上的连接地址,你无需在应用程序端修改任何配置即可自动回切到源PolarDB集群。

      2. 单击确定

        此时,源PolarDB集群为可读可写,目标PolarDB集群为只读,同时会将源PolarDB集群的数据同步到目标PolarDB集群。

        说明

        执行架构升级回滚操作时,您可以根据需要选择回滚地址。

    • 若您选择不带地址回切(应用程序需要改为源集群连接配置),操作步骤如下:

      1. 选中不带地址回切(应用程序需要改为源集群连接配置),在升级切换完成后,您需要尽快修改应用程序端的数据库连接池地址。

      2. 单击确定,此时,源PolarDB集群为可读可写,目标PolarDB集群为只读,同时会将源PolarDB集群的数据同步至目标PolarDB集群。

      3. 刷新页面,当源PolarDB集群的状态显示为读写后,请尽快修改应用程序中的数据库连接地址为源PolarDB集群的连接地址。

  • 本页导读 (0)
文档反馈