1

我计划将 MySQL 设置与一台主服务器和几台从服务器一起使用。我会在其中一台从属服务器上执行数据 EBS 的定期一致备份(我总是会在之前停止数据库并在完成后重新启动它)。

Slaves failover
如果其中一个slave发生故障,我将启动新实例并根据最新的slave快照挂载EBS作为新的数据盘。在这种情况下,master 始终可用。所以这就是我认为我应该做的:

0) 确保服务器使用唯一的 server_id 1) SLAVE STOP;
2) 复位从机;
3) 启动奴隶;
4)重启mysql?

够了吗?

主故障转移 出于简单性和一致性的原因,我不想将其中一个从属设备提升为主控。我更喜欢从头开始创建新的主人。问题是快照来自从属设备,我想将其用作主设备。这是我认为在使用基于从属快照的磁盘创建新实例后应该做的事情:

1)停止奴隶;
2) 复位主机;
3)重新启动mysql
4)将弹性IP关联到新的主数据库(失败的主数据库使用相同的IP),因此从属将能够再次连接。

这个程序正确吗?我现在该怎么处理奴隶?从站可以领先于主站,因为主站是从可能几个小时前的快照中恢复的。这是问题吗?还可以从用于恢复主节点的同一快照重新创建所有从节点。然后他们将与主人处于同一位置。但这可能很复杂,如果不停机就无法进行。有没有更好的方法来做到这一点?

非常感谢您!

注意:我不介意自最新快照以来丢失的交易。我正在使用 Mysql 5.1.41。

4

1 回答 1

0

我用来恢复不同步服务器的两种方法是:

  • 将转储从“好”服务器重新导入“坏”服务器。在您的情况下,它将从一个好的奴隶导入一个转储到坏的主人。
  • 在受影响的服务器上运行诸如 Navicat 之类的程序。Navicat 有一个功能,允许两个表之间的数据同步(单向、双向等),以便重新添加任何丢失的记录。

在这两种方法中,您都需要停止主机并重置主机。重置从站也将有所帮助。

于 2010-11-30T15:52:58.040 回答