MySQL使用pt-archiver归档历史数据
短信预约 -IT技能 免费直播动态提醒
pt-archiver可以将表按照指定条件归档到历史数据库中,也支持文件导出,对于归档清理线上历史数据非常方便。
如果要归档表的数据到历史数据库的表中,需要预先在历史数据库中创建表结构。
(1) 按照条件归档表中的历史数据到历史数据中,同时在本地生成归档文件
如果要归档表的数据到历史数据库的表中,需要预先在历史数据库中创建表结构。
(1) 按照条件归档表中的历史数据到历史数据中,同时在本地生成归档文件
-
# 在历史数据库(192.168.56.102)中创建归档表
-
mysql> CREATE TABLE `emp` (
-
-> `id` int(11) NOT NULL,
-
-> `name` varchar(15) DEFAULT NULL,
-
-> PRIMARY KEY (`id`)
-
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
Query OK, 0 rows affected (0.60 sec)
-
-
# 查看源表
-
mysql> select * from emp;
-
+--------+---------+
-
| id | name |
-
+--------+---------+
-
| 10 | Neo |
-
| 10036 | test |
-
| 10037 | test |
-
| 10038 | test |
-
| 10039 | test |
-
| 10040 | MySQL01 |
-
| 10041 | MySQL01 |
-
| 10042 | MySQL01 |
-
| 100100 | test |
-
| 100101 | test |
-
| 100103 | test |
-
| 100104 | test |
-
| 100105 | test |
-
| 100106 | test |
-
| 100107 | test |
-
| 100108 | test |
-
+--------+---------+
-
-
# 归档id小于200000的数据到历史库和本地文件
-
# pt-archiver --source h=192.168.56.101,P=3307,u=neo,p=neo,D=sale,t=emp --dest h=192.168.56.102,P=3306,u=sale,p=sale,D=test,t=emp --where "id<=200000" --charset=utf8 --limit 1000 --commit-each --file '/opt/%Y-%m-%d-%D.%t'
-
-
# 查看源表
-
mysql> select * from emp where id < 200000;
-
Empty set (0.05 sec)
-
-
# 查看历史表
-
mysql> select * from emp limit 2;
-
+--------+------+
-
| id | name |
-
+--------+------+
-
| 100100 | test |
-
| 100101 | test |
-
+--------+------+
-
2 rows in set (0.00 sec)
-
-
# 查看本地归档文件(相当于select ... into导出)
-
# cat /opt/2018-03-19-sale.emp
-
10 Neo
-
10036 test
-
10037 test
-
10038 test
-
10039 test
-
10040 MySQL01
-
10041 MySQL01
- 10042 MySQL01
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
MySQL使用pt-archiver归档历史数据
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
2024-04-02
2024-04-02
2024-04-02
2024-04-02
2024-04-02
2024-04-02
2024-04-02
2024-04-02
MySQL中怎么使用循环进行批量数据归档
在MySQL中,可以使用存储过程来实现循环进行批量数据归档。下面是一个示例存储过程,用于将数据从一个表归档到另一个表:DELIMITER //CREATE PROCEDURE archive_data()BEGINDECLARE don
2024-04-30
2023-05-18
如何使用递归查询遍历图结构数据
递归查询是一种在图结构数据中遍历节点的方法,通过重复调用自身来实现确定图结构:首先,你需要有一个图结构数据。这可以是一个包含节点和边的列表、邻接矩阵或邻接表。为了演示,我们将使用邻接表表示图结构。创建递归函数:编写一个递归函数,该函数接收当
2024-09-08
如何使用Oracle Flashback技术实现数据恢复和历史数据查询
Oracle Flashback技术是一种用于数据库恢复和历史数据查询的功能。它允许用户在不需要恢复整个数据库的情况下,快速恢复某个特定表或行的数据,并且可以查询数据库在过去某个时间点的数据状态。以下是使用Oracle Flashback
2024-03-02
2024-04-02
2024-04-02
2024-04-02
2024-04-02
2024-04-02
【已解决】Java 中使用 ES 高级客户端库 RestHighLevelClient 清理百万级规模历史数据
🎉工作中遇到这样一个需求场景:由于ES数据库中历史数据过多,占用太多的磁盘空间,需要定期地进行清理,在一定程度上可以释放磁盘空间,减轻磁盘空间压力。 🎈在经过调研之后发现,某服务项目每周产生的数据量已经
2023-08-22