我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql中如何使用percona的pt-archiver工具

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql中如何使用percona的pt-archiver工具

这篇文章给大家分享的是有关mysql中如何使用percona的pt-archiver工具的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

DBA或者运维人员经常需定期对数据进行归档和清除,我们可以使用percona的pt-archiver工具能完成这一功能,使得数据归档变得方便简单。

归档数据一例:

原表结构为:

mysql>desc test.t1;

+-------+---------+------+-----+---------+-------+

| Field | Type    | Null | Key | Default | Extra |

+-------+---------+------+-----+---------+-------+

| id    | int(11) | NO   | PRI | NULL    |       |

| a     | int(11) | YES  | MUL | NULL    |       |

| b     | int(11) | YES  |     | NULL    |       |

+-------+---------+------+-----+---------+-------+

3 rows in set (0.00 sec)

mysql>show create table test.t1 \G

*************************** 1. row ***************************

       Table: t1

Create Table: CREATE TABLE `t1` (

  `id` int(11) NOT NULL,

  `a` int(11) DEFAULT NULL,

  `b` int(11) DEFAULT NULL,

  PRIMARY KEY (`id`),

  KEY `a` (`a`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

1 row in set (0.00 sec)

归档到文件:

# pt-archiver --source h=192.168.140.51,u=root,p=123456,P=3306,D=test,t=t1 --file '/tmp/test.txt' --progress 500 --no-delete --statistics  --where '1=1' --txn-size 1000 --no-check-charset 

TIME                ELAPSED   COUNT

2019-06-19T16:14:48       0       0

2019-06-19T16:14:48       0     500

2019-06-19T16:14:49       0    1000

2019-06-19T16:14:49       0    1000

Started at 2019-06-19T16:14:48, ended at 2019-06-19T16:14:49

Source: D=test,P=3306,h=192.168.140.51,p=...,t=t1,u=root

SELECT 1000

INSERT 0

DELETE 0

Action          Count       Time        Pct

select           1001     0.6883      72.33

print_file       1000     0.0149       1.57

commit              2     0.0004       0.04

other               0     0.2480      26.06

注意:

pt-archiver操作的表必须有主键。

--where '1=1'条件是导出全部数据,如果想导出部分数据,可以设置where条件,例如--where 'b>500'

--no-check-charset 设置不校验字符集,否则会报错:

Character set mismatch: --source DSN uses latin1, table uses utf8mb4.  You can disable this check by specifying --no-check-charset.

常用的参数有:

    --limit 10000       每次取1000行数据用pt-archive处理,Number of rows to fetch and archive per statement.

    --txn-size  1000   设置1000行为一个事务提交一次,Number of rows pertransaction.

    --where 'id<3000'   设置操作条件

    --progress 1000    每处理1000行输出一次处理信息

    --statistics       输出执行过程及最后的操作统计。(只要不加上--quiet,默认情况下pt-archive都会输出执行过程的)

    --charset=UTF8     指定字符集为UTF8

    --bulk-delete      批量删除source上的旧数据(例如每次1000行的批量删除操作)

    --bulk-insert      批量插入数据到dest主机 (看dest的general log发现它是通过在dest主机上LOAD DATA LOCAL INFILE插入数据的)

    --replace          将insert into 语句改成replace写入到dest库

    --sleep 80         每次归档了limit个行记录后的休眠80秒(单位为秒)

恢复数据例子:

恢复数据应使用load data命令

mysql>use peihy

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql>CREATE TABLE `t1` (

    ->   `id` int(11) NOT NULL,

    ->   `a` int(11) DEFAULT NULL,

    ->   `b` int(11) DEFAULT NULL,

    ->   PRIMARY KEY (`id`),

    ->   KEY `a` (`a`)

    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Query OK, 0 rows affected (0.18 sec)

mysql>load data infile '/tmp/test.txt' into table t1;

Query OK, 1000 rows affected (0.61 sec)

Records: 1000  Deleted: 0  Skipped: 0  Warnings: 0

感谢各位的阅读!关于“mysql中如何使用percona的pt-archiver工具”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql中如何使用percona的pt-archiver工具

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL中pt-query-digest工具怎么使用

这篇文章主要介绍“实例分析MySQL中pt-query-digest工具的使用记录”,在日常操作中,相信很多人在实例分析MySQL中pt-query-digest工具的使用记录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
2022-12-07

MySQL pt-slave-restart工具的使用简介

在MySQL主从复制环境的搭建中,常常会遇到一种场景,主库和从库都要初始化用户的账号密码,正常的情况下,需要在主库和从库都关闭session级别的binlog,然后再进行用户信息导入。 但是有时候会忽略关闭session级别
2022-05-18

如何在Mysql中使用Explain调优工具

这篇文章给大家介绍如何在Mysql中使用Explain调优工具,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Explain工具介绍使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈
2023-06-07

如何使用Linux中的tcpdump工具

本篇内容主要讲解“如何使用Linux中的tcpdump工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Linux中的tcpdump工具”吧!先来看一个比较基本的用法:代码如下:tcpd
2023-06-12

Linux中如何使用awk工具

这篇文章主要为大家展示了“Linux中如何使用awk工具”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中如何使用awk工具”这篇文章吧。awk是linux中处理文本的强大工具,或者说是
2023-06-27

Linux中如何使用vnStat工具

小编给大家分享一下Linux中如何使用vnStat工具,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!vnStat是一个应用于Linux或BSD平台,对网卡流量做监
2023-06-13

编程热搜

目录