为了更改正在复制的表模式,我需要知道什么?

为了更改正在复制的表模式,我需要知道什么?

我需要更新模式,因为我意外遗漏了一些外键约束。

数据库服务器是MySQL 5.1.48,正在更改的表是InnoDB。

服务器使用主/从模式进行复制。

我需要知道什么或做什么才能正确改变生产数据库模式?

答案1

ALTER TABLE语句通过二进制日志进行复制,与对表的任何其他更改相同。复制方面无需特殊考虑。

答案2

我希望这是您所需要的,因为您没有提供足够的详细信息:

A)总是(我的意思其实是,总是)在产品上尝试进行此类更改之前请先进行备份

B)在 mysql 控制台上:ALTER TABLE fsckeduptable DISABLE KEYS; SET FOREIGN_KEY_CHECKS=0; .... 做你必须做的事... SET FOREIGN_KEY_CHECKS=1; ALTER TABLE yourtablename ENABLE KEYS;

C)如果(shit_happened){恢复备份;中止此操作;寻找其他方法} D)如果一切正常,请检查从属表(显示创建表)并查看您的修改是否已传播,然后使用它检查生产应用程序;如果(shit_happened)请参阅#C)

相关内容