我需要更新模式,因为我意外遗漏了一些外键约束。
数据库服务器是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)