我正在使用pt-table-checksum
版本2.1.4
来检查我的主从设置。如果我忘记在从机上设置正确的权限,它会写一个stderr
这样的错误:
# pt-table-checksum -d employees
Cannot connect to h=node03.mydomain.local <== error
TS ERRORS DIFFS ROWS CHUNKS SKIPPED TIME TABLE
10-04T15:33:33 0 0 9 1 0 0.014 employees.departments
[...]
但是,它的退出状态是0
。
# echo $?
0
它会找到的数字差异始终为零,因为它没有什么可比较的。0
是的,文档说如果没有报告差异或错误则退出状态。但这在大多数情况下没有意义。
有没有一种方法pt-table-checksum
可以避免无声地失败并将其报告为一般失败?我应该提交错误还是可以配置?
它被证明会让更多用户感到困惑,例如在这个问题中:“需要 pt-table-checksum help”。
pt-table-checksum
主要在主服务器上运行,但由于 MySQL 上的二进制日志记录是基于语句的,因此实际的计算语句也在从服务器上执行。然后应该pt-table-checksum
在从站上运行以检查和比较它无法从主站访问从站的校验和。添加--replicate-check-only
选项使其仅根据校验和表中已存在的校验和检查差异。