Percona-Tools
如果從屬設備無法訪問,為什麼 pt-table-checksum 會給出退出狀態 0?
我正在使用
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 required”。
pt-table-checksum
主要在主伺服器上執行,但由於 MySQL 上的二進制日誌是基於語句的,因此實際的計算語句也在從伺服器上執行。然後應該pt-table-checksum
在從站上執行以檢查和比較它無法從主站訪問從站的校驗和。添加--replicate-check-only
選項以使其僅根據校驗和表中已存在的校驗和檢查差異。