0
我有一個非常大的表,讓我們把它叫做例子,我嘗試在該表上執行一個小alter命令:阿爾特大表無需停機
ALTER TABLE `example` ADD `example_column` TINYINT(1) NOT NULL DEFAULT 0;
檢查alter命令的進展:
mysql -e 'show engine innodb status \G' | grep 'undo \| log \| entries'
給我很好的信息,關於時間 - 或多或少會需要17天才能完成......
阿爾特塊表,所以阻斷生產表17天是不是一個好的選擇。 ;)
我嘗試以調查在網絡上一些偉大的工具,如:
- 鉑在線模式變化 - Percona的
- GH-OST - GitHub的網絡架構遷移的MySQL
我也看到了有關文件,以及上述工具中,限制部分:
- 完全不
- 支持觸發器在所有
pt-online-schema-change limitations
- 使用觸發器意味着,如果任何觸發器已經該工具將無法工作不支持外鍵在桌子上定義。
- 不提供改變包含外鍵
我的示例表具有觸發器和外鍵的表什麼好辦法......
你能不能給我一些建議,如何應對這種改變?
我有MySQL 5.6。我使用GTID(基於行)複製。
我將非常感謝您的建議!
這張桌子有多大? –
我想這將是更好地使用一個完全新的表爲你的新列,這將是當前表的擴展表。 –