升级步骤
本章节介绍了PolarDB MySQL版集群之间升级的操作步骤。
前置检查:检查是否已创建PolarDB服务关联角色
在升级之前,请先检查是否已创建PolarDB服务关联角色,以及是否已授予DTS访问云资源的权限。
检查是否已创建PolarDB服务关键角色的操作步骤如下:
前往RAM控制台。
在角色列表中,查看是否已存在名为AliyunServiceRoleForPolarDB的服务关联角色,如下:
若存在,则执行步骤一:从PolarDB升级。
若不存在,则继续执行以下步骤。
单击创建角色。
在打开的创建角色对话框中,选择阿里云服务,并单击下一步。
角色类型选择服务关联角色,云服务选择云数据库PolarDB。
单击完成,返回角色列表,确保已创建成功。
步骤一:从PolarDB升级迁移
通过该步骤,您将创建一个与源PolarDB MySQL版集群数据相同的集群,源PolarDB MySQL版集群的增量数据会实时同步至该集群。
登录PolarDB控制台。
进入集群购买页面。您可以通过以下两种方式进入购买页:
单击创建新集群。
单击需要执行升级操作的集群ID,在左侧导航栏,选择配置与管理 > 版本管理。在大版本升级页签,单击迁移升级。
商品类型选择包年包月或按量付费。
包年包月:在创建集群时支付计算节点的费用,而存储空间会根据实际数据量按小时计费,并从账户中按小时扣除。
按量付费:无需预先支付费用,计算节点和存储空间(根据实际数据量)均按小时计费,并从账户中按小时扣除。
说明关于包年包月和按量付费的详细对比,请参考计算节点计费方式对比,并选择适用您业务场景的商品类型。
根据实际使用场景,设置以下参数。
参数
说明
创建方式
选择从PolarDB升级迁移。
地域
选择源PolarDB MySQL版集群所在地域。
源PolarDB引擎
源PolarDB MySQL版集群的引擎类型,固定为MySQL,不可变更。
源PolarDB版本
源PolarDB MySQL版集群的版本。您可以选择5.6、5.7或8.0。
源PolarDB集群
选择源PolarDB MySQL版集群。
兼容性
目标集群的数据库引擎版本。
版本之间升级时,您可以选择与源集群相同的版本,也可以选择跨版本。
架构之间升级时,必须选择MySQL 8.0。
说明系列
目标集群的系列。
版本之间升级时,选择集群版【推荐】。
架构之间升级时,选择多主集群(库表)。
说明节点规格
按需选择,建议不低于源PolarDB MySQL版集群规格。
PolarDB节点规格详情请参见计算节点规格。
设置购买时长(针对包年包月集群)和集群数量后,单击右侧的立即购买。
在确认订单页面确认订单信息,阅读并勾选服务协议,单击去支付。
在支付页面,确认未支付订单信息和支付方式,单击支付。
说明支付成功后,需要等待10~15分钟创建集群,之后您就可以在集群列表中看到新创建的集群。
当集群中的节点状态为创建中时,整个集群可能仍未创建完成,此时集群不可用。只有当集群状态为运行中时,集群才可以正常使用。
请确认已选中正确的地域,否则无法看到您创建的集群。
集群创建成功后,单击集群ID进入集群基本信息页。
在基本信息页的PolarDB升级功能区域,确认目标PolarDB集群的复制延迟小于60秒即可进行步骤二:升级切换操作。
说明集群创建后,DTS开始从源PolarDB集群同步数据,您需要在30天内完成升级,超过30天将自动关闭升级功能。
您可以在该区域选择放弃升级,放弃升级后的影响请参见常见问题。
若状态显示为预检查失败,请根据错误信息进行处理。
例如,如果源PolarDB集群中创建了触发器,则预检查会失败并报错“PolarDB集群存在触发器”。
若您确认触发器不会导致源和目标库的数据不一致,可单击继续升级并跳过触发器检查;
如果有数据不一致风险,可以先删除PolarDB的触发器,再单击继续升级,或单击放弃升级后手动在DTS控制台页面创建迁移任务。具体可参见源库存在触发器时如何配置同步作业。
架构升级时,目标集群默认的写入点为MasterID=1的RW节点,为确保DTS数据同步任务的正常运行,在升级完成之前,始终保持在该RW节点写入。
步骤二:升级切换
目标PolarDB集群的复制延迟小于60秒时,即可进行升级切换操作。
登录PolarDB控制台。
找到目标集群,单击集群ID。
在基本信息页面的PolarDB升级功能区域,单击升级切换。
说明一般情况下,升级在5分钟之内即可完成。
该操作将交换源PolarDB集群和目标PolarDB集群的读写状态,即将源PolarDB集群修改为只读,将目标PolarDB集群修改为可读可写。同时,DTS会更换数据复制方向,即将目标PolarDB集群的新增数据同步到源PolarDB集群。
在升级切换对话框中,选择带地址切换(应用程序不用改连接配置)或不带地址切换(应用程序需要改为新的PolarDB连接配置)。
若您选择带地址切换(应用程序不用改连接配置),操作步骤如下:
选中带地址切换(应用程序不用改连接配置)。系统会自动交换源PolarDB和目标PolarDB上的连接地址,您无需在应用程序端修改任何配置即可自动连接到目标PolarDB集群。
重要选择带地址切换(应用程序不用改连接配置)前,请务必阅读带地址切换注意事项。
单击确定。
若您选择不带地址切换(应用程序需要改为新的PolarDB连接配置),操作步骤如下:
勾选不带地址切换(应用程序需要改为新的PolarDB连接配置)。
单击确定。
刷新页面,当目标PolarDB读写状态显示为读写后,尽快修改应用中的数据库连接地址。
升级切换完成后,如果您发现数据存在异常等问题,可以进行回滚操作,快速恢复至升级前的状态也可以选择升级回滚。
架构升级完成并切换完成后,为避免DTS数据同步任务异常,请务必不要修改目标多主集群(库表)的写入点。
步骤三:完成升级
完成步骤一:从PolarDB升级后,您需要在30天内完成升级操作。
请确保在单击完成升级前,数据已完成迁移,并且后续不再使用数据同步功能。
由于该操作会中断源PolarDB集群和目标PolarDB集群间的数据同步任务,且不再提供升级回滚功能,建议您使用一段时间目标PolarDB集群,确认正常后再执行完成升级操作。
登录PolarDB控制台。
找到目标集群,单击集群ID。
在基本信息页面的从PolarDB升级功能区域,单击完成升级。
在完成升级对话框中,您可以选择是否关闭PolarDB集群的Binlog,并单击确定。
说明单击确定后,系统将在2分钟之内中断同步关系,升级状态将显示为关闭同步。
如果您选择了关闭Binlog,PolarDB集群会自动重启使新配置生效。
如果不再需要源PolarDB集群,可以选择释放源PolarDB集群。释放集群详情请参见释放集群。
如果您执行的是架构升级操作,在完成升级对话框中单击确定后,目标集群的写入点将恢复至初始状态,即数据库将随机指定RW节点为写入点。
查看数据同步任务详情(可选)
在版本升级的过程中,若升级报错或出现其他异常时,您可以前往对应的DTS数据同步任务详情页查看数据同步任务的详细信息。
登录PolarDB控制台。
找到目标集群,单击集群ID。
在基本信息页面的从PolarDB升级功能区域,单击DTS数据同步任务的任务名称,进入DTS控制台的数据同步任务列表。
在数据同步任务列表中,找到对应的数据同步任务,您可以查看同步任务详情和同步任务日志等。
在升级过程中,如果需求有调整(如源PolarDB集群有新增库时,需要将新增加的库也纳入同步对象),您可以单击修改同步对象来重新配置。
升级回滚(可选)
在完成升级前,如果您发现数据存在异常等问题,可以进行回滚操作,快速恢复至升级前的状态(源PolarDB集群为可读可写,目标PolarDB集群为只读,同时会将源PolarDB集群的数据同步至目标PolarDB集群)。
登录PolarDB控制台。
找到目标集群,单击集群ID。
在基本信息页面的从PolarDB升级功能区域,单击升级回滚。
在开始回切对话框中,选择带地址回切(应用程序不用改连接配置)或不带地址回切(应用程序需要改为源集群连接配置)。
若您选择带地址回切(应用程序不用改连接配置),操作步骤如下:
选中带地址回切(应用程序不用改连接配置),系统会自动交换源PolarDB集群和目标PolarDB集群上的连接地址,你无需在应用程序端修改任何配置即可自动回切到源PolarDB集群。
单击确定。
此时,源PolarDB集群为可读可写,目标PolarDB集群为只读,同时会将源PolarDB集群的数据同步到目标PolarDB集群。
说明执行架构升级回滚操作时,您可以根据需要选择回滚地址。
若您选择不带地址回切(应用程序需要改为源集群连接配置),操作步骤如下:
选中不带地址回切(应用程序需要改为源集群连接配置),在升级切换完成后,您需要尽快修改应用程序端的数据库连接池地址。
单击确定,此时,源PolarDB集群为可读可写,目标PolarDB集群为只读,同时会将源PolarDB集群的数据同步至目标PolarDB集群。
刷新页面,当源PolarDB集群的状态显示为读写后,请尽快修改应用程序中的数据库连接地址为源PolarDB集群的连接地址。