pt-duplicate-key-checker --charset utf8 h=db-test-float-1,u=username,p=password你應該會看到一堆 ALTER TABLE 以及 DROP INDEX 的指令。如果沒有的話代表你的資料庫沒有顯而易見的 INDEX 問題。
如果沒有問題,就把這串指令 pipe 給 mysql 執行:
pt-duplicate-key-checker ... | mysql -h db-test-float-1 -u username -p然後輸入密碼。
值得一提的是,我測試過的環境中,InnoDB 的 DROP INDEX 行為都是瞬間做完,但我不確定是否有特別的設定。我測試的環境有些特點:
- 都是在 Percona XtraDB Cluster 上測試 (目前是 5.5.24-55)。
- innodb_file_format = Barracuda
- innodb_file_per_table
- innodb_support_xa = FALSE
- 所有的 InnoDB table 都是 COMPRESSED 格式。
如果不能停機,最好是先建立測試環境 (像是 AWS EC2) 測試過後再做。
沒有留言:
張貼留言