在部分PolarDB MySQL版集群中,若业务表中使用了Auto_increment(自增列),当集群发生高可用性(HA)切换时,并且伴随一些特殊操作,极小概率会导致Auto_increment(自增列)回退现象,从而影响后续的插入操作及数据的正确性。因此,强烈建议您尽快升级至最新的小版本。在当前场景下,小版本升级需要进行停机操作,可能会出现30秒左右的闪断,请在业务低峰期进行操作。
问题风险
当PolarDB集群因读写(RW)节点异常而触发高可用(HA)切换时,并且伴随一些特殊操作,极小概率会导致存量数据表的自增列(Autoinc)回退现象。Auto_increment(自增列)回退将导致以下业务影响:
-
数据写入异常,INSERT操作频繁触发
Duplicate key错误,导致INSERT失败。 -
数据篡改风险(使用INSERT ON DUPLICATE KEY UPDATE时),可能会导致存量数据被非预期修改。
受影响版本
PolarDB MySQL版集群版和标准版于8.0.1.1.46.2版本和8.0.2.2.27版本修复。
您可在当前集群详情页中配置信息一栏查看具体内核版本号。
|
系列 |
版本 |
问题版本 |
修复版本 |
|
集群版、集群版(Serverless)、标准版、标准版(Serverless) |
8.0.1 |
小于8.0.1.1.46.2 |
8.0.1.1.46.2 |
|
8.0.2 |
小于8.0.2.2.27 |
8.0.2.2.27 |
解决方案
-
对于存在风险的版本,建议避免通过DDL创建Auto_increment(自增列),以防因Autoinc回退而影响业务。
-
当前场景下小版本升级,需要停机操作,可能会出现30秒左右的闪断,因此请在业务低峰期进行操作。
为了解决以上问题,避免数据受损,强烈建议您尽快将您的集群内核小版本升级至PolarDB MySQL版8.0.1.1.46.2或8.0.2.2.27及以上。
-
进入目标集群的菜单。
-
在小版本升级页面,升级版本区域,选择同时升级数据库代理(Proxy)和内核引擎。
单击立即升级。
-
单击立即升级或可维护窗口升级。
说明若选择在可维护窗口升级,您还可以在定时计划任务页查看该任务的具体信息或取消该任务,详情请参见定时计划任务。
-
在弹出的对话框中,单击确定即可。