Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql pt archiver挂起最后剩余的行_Mysql_Freeze_Percona - Fatal编程技术网

Mysql pt archiver挂起最后剩余的行

Mysql pt archiver挂起最后剩余的行,mysql,freeze,percona,Mysql,Freeze,Percona,我试图用pt archiver清除mysql表,但遇到了一个奇怪的问题 假设下面的查询返回60789行 SELECT COUNT(*) FROM abc WHERE created_at BETWEEN '2008-09-01 00:00:00' AND '2008-09-05 23:59:59'; 我使用以下pt archiver语法来清除行 /usr/local/bin/pt-archiver --source h=localhost,u=root,p=abcdef,D=cbs_produ

我试图用pt archiver清除mysql表,但遇到了一个奇怪的问题

假设下面的查询返回60789行

SELECT COUNT(*) FROM abc WHERE created_at BETWEEN '2008-09-01 00:00:00' AND '2008-09-05 23:59:59';
我使用以下pt archiver语法来清除行

/usr/local/bin/pt-archiver --source h=localhost,u=root,p=abcdef,D=cbs_production,t=abc \
--where "created_at >= '2008-09-01 00:00:00' AND created_at <= '2008-09-05 23:59:59'" \
--purge --sleep-coef 1.0 --txn-size 1000 --progress=1000 --statistics
/usr/local/bin/pt archiver--source h=localhost,u=root,p=abcdef,D=cbs\u production,t=abc\

--其中“created_at>='2008-09-01 00:00:00'和created_at我无法重现您面临的问题:

$ pt-archiver --version
pt-archiver 3.0.9
是否可以发送MySQL版本和表结构

SHOW CREATE TABLE <table_name>\G
SELECT @@version;
显示创建表\G
选择@版本;

谢谢@Vinicius。我解决了这个问题

我使用了--where语句,如下所示

--where "created_at >= '2008-09-01 00:00:00' AND created_at <= '2008-09-05 23:59:59'"

——其中“created_at>='2008-09-01 00:00:00'和created_at=18689121和id我不确定要传递到
pt archiver
脚本的PK
id
范围有多容易


一个更合适的解决方案是更新
pt-archiver
脚本,如本线程所述:

不确定您在这里需要什么样的帮助,因为这是软件开发人员的问答网站。你没有编程问题,你需要弄清楚为什么一个工具没有完成它应该做的事情。DBA SE站点或percona自己的支持论坛将是更好的问题候选。
--where "id>=18689121 AND id<=19998441"