Mysql pt archiver挂起最后剩余的行
我试图用pt archiver清除mysql表,但遇到了一个奇怪的问题 假设下面的查询返回60789行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
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
脚本的PKid
范围有多容易
一个更合适的解决方案是更新pt-archiver
脚本,如本线程所述:不确定您在这里需要什么样的帮助,因为这是软件开发人员的问答网站。你没有编程问题,你需要弄清楚为什么一个工具没有完成它应该做的事情。DBA SE站点或percona自己的支持论坛将是更好的问题候选。
--where "id>=18689121 AND id<=19998441"