MySQL复制如何工作?

时间:2012-08-20 12:04:24

标签: mysql database replication database-replication

我在这里有关于MySQL复制的问题。我对数据库的了解非常有限。请有人帮我澄清一下。我的目标是能够进行可以避免停机的部署。

假设我复制了一个数据库(主服务器和从服务器)。假设我想要一个新版本,我需要运行一个迁移脚本。我的计划是停止复制。并在slave中运行脚本。迁移脚本可以是:

  • 基于某些业务逻辑,运行多个查询以为表中的列设置新值。
  • 添加新列

当我再次开始复制时会发生什么?奴隶将赶上主人的任何变化。但是主人如何得到应用于奴隶的变化呢?如果我运行相同的数据库脚本,则不会再对主服务器上的相同数据集运行迁移脚本。

如果奴隶赶上主人,使用奴隶的快照并将其用作新的奴隶,是否有意义?而老奴隶成了主人?

我希望这一点很清楚。谢谢。任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:3)

您必须执行跨主复制,以便从服务器赶上主服务器和主服务器来复制在服务器上执行的修改或者有一些停机时间并运行主服务器的脚本。

1-您可以在没有任何停机时间的情况下将从站主站重新更改为跨站主站 2-停止前奴隶复制主人。
3-运行你的脚本 4-再次启动前奴隶。

我建议您使用vmware等工具设置测试环境并进行试用。这就是我所做的。

这是一个解释如何设置的链接

http://onlamp.com/onlamp/2006/04/20/advanced-mysql-replication.html

在对真实环境应用更改之前,我无法对测试施加足够的压力,因此请一次又一次地进行测试,直到您认为自己已做好准备。当发生这种情况再次测试时。不要忘记做备份