PolarDB集群架构共三层:数据库代理Proxy、数据库内核引擎DB和数据库分布式存储Store。您可以根据实际情况单独升级Proxy或内核引擎,也可以绑定一起升级。
注意事项
版本升级一般不超过30分钟,升级过程中会重启数据库代理Proxy或内核引擎DB,可能会导致数据库连接闪断。请您尽量在业务低峰期执行升级操作,并且确保您的应用有自动重连机制。
说明若您已配置云监控以监测PolarDB集群,则在升级过程中,您可能会收到关于集群访问异常等情况的通知。
升级过程中无法使用PolarDB控制台的部分变更类功能(如升降配置、增删节点、修改参数、重启节点),但查询类功能(如性能监控)不受影响。且版本升级后无法降级。
为避免升级切换期间出现长时间业务闪断,升级会在切换前系统将检查主节点状态。若主节点存在大事务或Redo日志检查点积压较多,且在检查窗口内多次检测均未达标,本次升级将被自动取消,集群版本与运行状态保持不变,您会收到相应通知。处理方式请参见升级前置检查未通过的处理。
查看版本信息
登录PolarDB控制台,在左侧导航栏单击集群列表,选择集群所在地域,并单击目标集群ID进入集群详情页。
在左侧导航栏,选择。
在小版本升级页面,版本信息区域,查看数据库代理Proxy和内核引擎DB的版本信息。
升级版本
若集群当前数据库代理Proxy或内核引擎DB的版本不是最新版本,则可以根据实际需要进行升级操作。
进入目标集群的菜单,在小版本升级页面,升级版本区域,您可以根据需要选择同时升级数据库代理(Proxy)和内核引擎、仅升级内核引擎或仅升级数据库代理(Proxy)。
说明若集群当前数据库代理Proxy或内核引擎DB的版本已经是最新版本,则同时升级数据库代理(Proxy)和内核引擎、仅升级内核引擎或仅升级数据库代理(Proxy)选项将置灰不可选。
若选择仅升级数据库代理(Proxy),将只升级读写分离相关功能,例如一致性级别(全局一致性)、事务拆分、主库是否接受读等。
单击立即升级或可维护窗口升级。若选择在可维护窗口升级,您可以在定时计划任务页查看该任务的具体信息或取消该任务,详情请参见定时计划任务。
重要同时升级数据库代理(Proxy)和内核引擎期间,主地址和集群地址均会有30~90秒的连接闪断,请确保应用具备重连机制。
说明除上述影响时间外,小版本升级期间,其余时间不影响集群的正常使用。
仅升级数据库代理(Proxy)期间,集群地址和自定义地址会有30秒的连接闪断,主地址的连接不受影响,请确保应用具备重连机制。
仅升级内核引擎期间,数据库代理Proxy的版本高于2.4.7(包含)的PolarDB集群可以通过Connection Preserving技术保护95%的数据库连接不中断。
查看升级任务:
在集群详情页头部,单击右侧任务图标按钮,您可以看到任务进度面板以及升级进度。
返回集群列表,在左侧导航栏选择,您可查看所有集群的任务列表。
升级前置检查未通过的处理
升级切换前,系统会对集群的主节点执行以下两项检查。若在检查窗口内多次检测均未通过,本次升级会被自动取消,集群不会发生版本变更,运行状态与升级前一致,您可在处理完成后重新发起升级。
检查项一:主节点大事务
系统会统计主节点当前所有活跃未提交事务修改的总行数。
定位大事务:
您可以使用高权限账号连接主节点执行以下语句自行确认(查询该视图需要
PROCESS权限,也可在DMS或DAS的会话管理中查看):SELECT SUM(trx_rows_modified) AS sum_trx_rows_modified FROM information_schema.innodb_trx;结果为NULL表示当前无活跃事务。若结果显示存在修改行数较多的事务,可执行以下语句定位具体事务:
SELECT trx_id, trx_state, trx_started, trx_mysql_thread_id, trx_rows_modified, LEFT(trx_query, 200) AS trx_query FROM information_schema.innodb_trx ORDER BY trx_rows_modified DESC LIMIT 10;
处理方式:
(推荐,对业务无影响)等待该事务正常提交后重试升级。
确认事务可以放弃时,使用
KILL命令终止上述trx_mysql_thread_id对应的会话。请勿使用
KILL QUERY,它只会终止当前语句,事务仍然打开且不回滚,检查依旧无法通过。执行
KILL后事务会进入回滚(trx_state为ROLLING BACK),此期间该事务仍会出现在information_schema.innodb_trx中且修改行数逐步减少,请等待其从查询结果中消失后再重新发起升级。
长期维护建议:
将大批量的 INSERT ... SELECT、UPDATE、DELETE、数据导入与归档任务拆分为小批次提交,并与升级窗口错峰。
检查项二:Redo日志检查点积压
系统会检查主节点已写入的Redo位点与检查点位点的差值。该差值反映检查点推进落后于写入的程度,差值过大时切换需要更长时间追平,会延长业务不可用时间。
查询位点:
您可以使用高权限账号执行以下语句查看:
SHOW STATUS LIKE '%lsn%';其中 Innodb_lsn 与 Innodb_log_checkpoint_lsn 的差值即为当前积压量(单位:字节)。
处理方式:
暂停大批量数据导入、归档、DDL 等重写入操作,降低写入压力。
间隔一段时间重复执行上述语句,观察差值是否持续下降,待其回落后重新发起升级。
重新发起升级前的确认项
主节点活跃未提交事务修改总行数已满足升级前置检查要求。
information_schema.innodb_trx中不存在处于ROLLING BACK状态的事务。Innodb_lsn与Innodb_log_checkpoint_lsn的差值处于平稳或下降趋势。已避开批量任务窗口,处于业务低峰期。
相关API
API | 描述 |
查看PolarDB集群的内核版本信息。 | |
升级PolarDB集群的内核版本。 |