pt-osc工具 - 支持对部分数据的表结构变更

2024-06-26 16:09:28 浏览数 (1)

从 Percona Toolkit 3.6.0 开始,pt-online-schema-change支持选项--where,支持对部分数据的表结构变更。

例如,Java研发想要提取3个月内的数据,并对XX字段属性进行修改。

那么,你按照我的演示,自己来操作一下。

代码语言:bash复制
# pt-online-schema-change h=127.0.0.1,P=3306,u=admin,p=123456,D=test,t=sbtest1  
--alter="modify pad varchar(300)"  
--where="create_time>=DATE_FORMAT(DATE_SUB(now(),interval 3 month),'%Y-%m-%d')"   
--execute       
--swap-tables   
--no-drop-new-table      
--no-drop-old-table       
--new-table-name=sbtest1_tmp_20240626  
--force

解释:

1) 创建一个新表sbtest1_tmp_20240626。

2) create_time>=DATE_FORMAT(DATE_SUB(now(),interval 3 month),'%Y-%m-%d')的数据存放至sbtest1_tmp_20240626

3) 原表sbtest1变更为_sbtest1_old

4) 临时表sbtest1_tmp_20240626表名变更为原表名sbtest1

5) 如果只想提出3个月的数据,不更改表结构,那么设置--alter="engine=innodb"即可

0 人点赞