如何在pt-archiver中禁用binlog

时间:2017-09-28 06:20:47

标签: mysql database archive percona mysql-5.7

我使用percona的 pt-archive 实用程序归档大表。但它填补了我的二进制日志。

是否有任何选项可以在从此实用程序归档期间禁用二进制日志记录。

我已阅读其文档,我们可以在 - analyze 选项中执行某些操作,但尚未清除如何定义此选项。因为此选项还可以优化/分析我不想要的表格。

你能提供任何有用的例子吗?

1 个答案:

答案 0 :(得分:1)

简而言之,您需要添加选项 b = true 和--本地

请注意,b = true是DSN选项,需要根据需要在--source或--dest之后添加。我将在此答案的底部显示一个示例。

您可以轻松进行此虚拟测试:

 CREATE TABLE `dummyids` (
  `ids` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`ids`)
) ENGINE=InnoDB ;


insert into dummyids
    select @i := @i + 1 as id
     from (select true union all select true) t0
    join (select true union all select true) t1
    join (select true union all select true) t2
    join (select true union all select true) t3
    join (select true union all select true) t4
    join (select true union all select true) t5
    join (select true union all select true) t6
    join (select true union all select true) t7
    join (select true union all select true) t8
    join (select true union all select true) t9
    join (select true union all select true) t10
    join (select true union all select true) t11
    join (select true union all select true) t12
    join (select true union all select true) t13
    join (select true union all select true) t14
    join (select true union all select true) t15
    join (select true union all select true) t16
    join (select true union all select true) t17
    join (select true union all select true) t18
    join (select true union all select true) t19
;

现在您可以检查binlog的大小和最后一个位置(这将是最新的binlog,请更改您的路径和binlog名称)

# ls -lh /path/to/mysql/data/

# sudo mysqlbinlog mysql-bin.000012 | tail -n 100

在运行pt存档后记录要比较的binlog的位置和大小

pt-archiver --source h=localhost,D=bar,t=dummyids,b=true --local --where "1 = 1" --limit=10000 --progress=50000 --txn-size=50000 --statistics --purge --bulk-delete

现在运行命令再次检查binlog的大小和最新位置,您应该注意到它们没有更改。

希望这可以帮助更多的人解决同一问题。

percona工具手册pt-archiver options

中说明了这些选项