🗒️RDS Mysql历史数据清理

type
status
slug
date
tags
summary
category
password
icon

实践

开启实例安全协同才有改功能
  1. 只支持 cron 定时任务执行,如果只要 1 次,那么执行完成后关闭即可
  1. 执行完毕直接 optimize table
    1. 配置策略启用定期Optimize Table功能 1 次
    2. 如果想无锁变更执行,确保开启dms 实例管理开启无锁变更(阿里云 RDS 自研无锁变更)
  1. 推荐使用指定时长,尽量不影响业务
  1. 删除依据字段加索引
 
notion image

问题

配置 1 次 sql 执行记录中没有走,已经提交工单和任务 Id 进行核实了
notion image
notion image
目前应该是无法设置为0的,至少为1,目前产品策略如此,第一次暂时不可以,谢谢 如果您有类似清除数据回收的需求,建议您使用无锁变更,谢谢 回收表碎片空间

参考

notion image

历史数据清理

回收大容量表的碎片空间时,请确保实例剩余的存储空间大小至少为目标表大小的2~3倍,并在变更过程中密切关注实例剩余空间情况。
回收大容量表的碎片空间时,可能需要临时存储数据的副本或其他,这可能会导致额外的空间需求。如果空间不足,可能会导致回收碎片空间的操作失败或者实例被锁定。

无锁变更回收碎片空间

使用无锁变更
  1. 登录数据管理DMS 5.0
  1. 在顶部菜单栏中,选择数据库开发 数据变更 > 无锁变更。若您使用的是极简模式的控制台,请单击左上角的,选择全部功能 > 数据库开发 > 数据变更 > 无锁变更
  1. 配置无锁结构变更工单。具体操作,请参见通过无锁变更工单实现无锁结构变更
    1. 实例在开启无锁结构变更后,执行无锁结构变更工单都会自动回收表碎片空间。但为确保系统更稳定地回收碎表空间,并减少对依赖该表或与该表有关联关系的其他表的影响。建议您在工单中使用如下任意SQL来整理、回收碎片空间:
      • ALTER TABLE table_name COMMENT '修改后的表的注释';
      • ALTER TABLE table_name ENGINE=InnoDB;
      • OPTIMIZE TABLE table_name;
      • ALTER TABLE table_name MODIFY COLUMN field_name INT COMMENT '修改后的字段注释';
上一篇
RDS清理历史数据释放空间
下一篇
The MySQL server is running with the --read-only option so it cannot execute this statement
Loading...
文章列表
王小扬博客
云原生
Git
Elasticsearch
Apollo
产品
Think
生活技巧
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP
AI