服务环境:
- Centos7.2.1511
- percona-toolkit-3.0
信息 数据库IP地址 库名 表名
主数据库 10.58.107.46 unix sbtest01
归档数据库 10.58.107.46 unix sbtest_archiver
当一个表超过千万行的时候就会对数据库性能造成影响,但如果仅有INSERT操作和少量的SELECT操作,几乎没有UPDATE和DELETE操作的话,相对来说对数据库的性能影响不算很大。
安装及使用方法:
- 安装percona-toolkit
wget https://www.percona.com/downloads/percona-toolkit/3.0.11/binary/redhat/7/x86_64/percona-toolkit-3.0.11-1.el7.x86_64.rpm
yum localinstall percona-toolkit-3.0.11-1.el7.x86_64.rpm
- 创建归档表
注:以下是归档示例,数据库是unix,归档的表是sbtest01 ,归档到 sbtest_archiver表中。
use unix;
create table sbtest_archiver like sbtest1 ;
- 使用percona做数据库归档
注:以下归档命令是把数据归档完之后,并删除掉老的数据,如果用于线上执行前请慎重,如果做完归档不想删除掉老的数据可以使用no-delete参数。
pt-archiver \
--source h=10.58.107.46,P=3306,u=monitor,p=123123,D=unix,t=sbtest1 \
--dest h=10.58.107.46,P=3306,u=monitor,p=123123,D=unix,t=sbtest_archiver \
--where 'id <= 10000' --limit=1000 --txn-size=1000 \
--statistics --charset=utf8
参数详解:
--no-delete #归档时不删除老数据
--limit #表示每次事务删除的行数
--txn-size #每个事务提交的行数(读写)