本章节介绍了PolarDB MySQL版集群之间升级的操作步骤。
前置检查
若您已完成升级评估并且无相关异常,可跳过该前置检查。
检查是否已创建PolarDB服务关联角色
在升级之前,请先检查是否已创建PolarDB服务关联角色,以及是否已授予DTS访问云资源的权限。
检查是否已创建PolarDB服务关键角色的操作步骤如下:
前往RAM控制台。
在左侧导航栏,选择身份管理>角色。
在角色列表中,查看是否已存在名为AliyunServiceRoleForPolarDB的服务关联角色。
若存在,则执行步骤一:从PolarDB升级。
若不存在,则继续执行以下步骤。
单击创建角色。
在打开的创建角色对话框中,选择阿里云服务,并单击下一步。
角色类型选择服务关联角色,云服务选择云数据库PolarDB。
单击完成,返回角色列表,确保已创建成功。
删除源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多余的系统账号为例,具体删除步骤如下:
使用高权限账号连接数据库集群。
找到所有的root和aliyun_root系统账号。
select * from mysql.user where user in ('root', 'aliyun_root');
删除多余的系统账号。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版集群的增量数据会实时同步至该集群。
在开始迁移前,建议您先完成升级评估。
登录PolarDB控制台。
进入集群购买页面。您可以通过以下两种方式中的任意一种方式进入购买页:
单击创建新集群。
单击需要执行升级操作的集群ID,在左侧导航栏,选择配置与管理 > 版本管理。在大版本升级页签,单击迁移升级。
计费类型选择包年包月或按量付费。
包年包月:在创建集群时支付计算节点的费用,而存储空间会根据实际数据量按小时计费,并从账户中按小时扣除。
按量付费:无需预先支付费用,计算节点和存储空间(根据实际数据量)均按小时计费,并从账户中按小时扣除。
说明关于包年包月和按量付费的详细对比,请参考计算节点计费方式对比,并选择适用您业务场景的商品类型。
根据实际使用场景,设置以下参数。
参数
说明
创建方式
选择从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支持PSL5和PSL4两种存储类型:
PSL5:PolarDB历史版本中支持的存储类型,即2022年06月07日之前购买的PolarDB集群默认的存储类型。性能好,可靠性和可用性更强。
PSL4:PolarDB全新推出的存储类型,采用阿里巴巴自研的硬件压缩盘(Smart-SSD)技术,在物理SSD磁盘层面压缩、解压缩存储的数据,保持性能影响可控的情况下,使单位容量数据的存储价格更低。
说明对于已创建的集群,存储类型不支持切换。如需切换存储类型,建议您购买一个新的集群并配置预期的存储类型,将原有集群的数据迁移到新集群即可。
关于两种存储类型的详细对比,请参见如何选择PSL4和PSL5。
存储引擎
选择目标集群的存储引擎。
PolarDB支持InnoDB和InnoDB & 高压缩引擎两种引擎类型。
InnoDB:InnoDB引擎。
InnoDB & 高压缩引擎::InnoDB和X-Engine混合部署引擎。选择该选项后,可以设置高压缩引擎的比例。关于高压缩引擎的更多信息,请参见高压缩引擎(X-Engine)介绍。
存储计费类型
目标集群的存储计费类型。当前PolarDB支持的存储计费类型如下:
按容量计费(按量付费):购买集群时无需选择容量,随着数据增长而在线自动扩容,只按实际数据量所占的存储空间大小收费,并按小时从账户中扣款。计费详情请参见计费方式2:按容量计费(按量付费)
按空间计费(包年包月):在购买数据库集群时您需预支付集群的存储空间费用。计费详情请参见计费方式3:按空间计费(包年包月)。
说明推荐购买存储包,更划算。详情请参见什么是存储包。
存储空间
选择目标集群的存储空间。
说明仅当存储计费类型为按空间计费(包年包月)时,支持配置该参数。
单击下一步:集群配置。并设置以下参数。
参数
说明
集群名称
选择自动生成集群名称或自定义集群名称。
如果选择自动生成集群名称,集群创建成功后系统将自动生成一个集群名称,自动生成的集群名称用户还可以修改;
如果选择自定义集群名称,集群名称需满足如下要求:
不能以
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。
删除(释放)集群时
设置删除(释放)集群时的备份保留策略。
保留最后一个备份(释放前自动备份)(默认):删除集群时保留最后一个备份。
保留全部备份:删除集群时保留所有备份。
不保留备份(释放后无法恢复):删除集群时不保留任何备份。
单击下一步:确认订单。
检查集群配置信息,设置购买时长(针对包年包月集群)、购买数量和是否自动续费。
阅读并勾选服务协议。单击立即购买。
在支付页面,确认未支付订单信息和支付方式,单击订购。
说明支付成功后,需要等待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集群的连接地址。
- 本页导读 (0)