我正在使用percona中的pt-archival将RDS MySQL数据库归档到辅助数据库,但是在归档活动期间,数据库的CPU和DB连接增加了。归档活动包括从主数据库中删除数据并将其复制到辅助数据库。因为这是一个生产数据库,有什么方法可以减少这种情况。
pt-archive命令是-
pt-archiver --source h=source-database.com,u=username,p=password,D=dbName,t=tableName --where "creation_time< current_date - interval 30 day" --dest h=dest-database.com,u=username,p=password --limit 1000 --txn-size 1000 --progress 1000 --optimize=s
我无法解决您的当前问题。您应该考虑更改架构,以防止出现此问题recurring。
要点是将主表设置为PARTITION BY RANGE(...)
,然后使用DROP PARTITION
(实际上是即时的)和REORGANIZE PARTITION
(也是快速的)。
关于时间序列分区的讨论:http://mysql.rjweb.org/doc.php/partitionmaint
(注意:您将需要一些停机时间和/或pt-online-schema-change来对表进行分区,以及代码和INDEX
的更改。)
更多关于驯服大删除的内容:http://mysql.rjweb.org/doc.php/deletebig