【问题标题】:Master and Slaves failover from Slave snapshot从 Slave 快照的 Master 和 Slaves 故障转移
【发布时间】:2011-03-29 22:48:27
【问题描述】:

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

从站故障转移
我其中一台slave出现故障,我会启动一个新的实例,并根据最新的slave快照挂载EBS作为新的数据盘。在这种情况下,master 始终可用。所以这就是我认为我应该做的:

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

够了吗?

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

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

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

非常感谢您!

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

【问题讨论】:

    标签: mysql replication amazon-ec2 master-slave


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2016-05-05
      • 2015-07-26
      • 2010-11-06
      • 2023-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多