Man*_*h V 13 database database-design
我想知道如何/如果人们已经解决了数据库模式更改,否则会导致生产系统崩溃.似乎在某种程度上受限制的附加变化(例如,唯一约束)很难做到b/c应用程序和数据库必须同时更改,否则将在数据或应用程序中发生错误.
我想过可能切换到一个从属数据库(使用mysql复制)并在主服务器上运行模式更改但是你需要以某种方式捕获应用于从服务器的更新查询,这些更新查询未应用于主服务器而你将运行没有备份服务器的风险.
人们用什么技术来解决这些问题?
谢谢,manish
我想说你很接近这个想法;实际上,我有一个主服务器和一个从服务器,主服务器处于活动状态,而从服务器则将更改复制到它;暂停从属设备上的复制,然后在从属设备上执行架构更改,一旦架构更改完成,就取消暂停复制;整个过程完成后,将主服务器暂停很短的时间,以确保复制的更改刷新到从服务器上,然后切换主服务器和从服务器。那应该可以满足您的需要。
请注意,只有当您对架构所做的更改未被挂起的复制命令触及时,这才有效。这通常最好在交通量少的时候进行,以确保不太可能发生碰撞。请注意,因为在从属服务器完全更新架构并复制更改之前,这不会对主服务器进行任何更改,所以它在主服务器上非常安全。