我需要知道什么才能更改正在复制的表模式?

我需要更新架构,因为我不小心遗漏了一些外键约束。

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

服务器使用主/从复制。

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

ALTER TABLE语句通过二进制日志进行复制,与对表的任何其他更改一样。 事物的复制方面不需要特别的考虑。

我希望这是你所需要的,因为你没有提供足够的细节:

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){恢复备份; 放弃这个; find另一种方法} D)如果一切正常,检查从属表(show create table),看看你的修改是否已经传播,然后检查使用它的prod应用程序; 如果(shit_happened)见#C)