我计划将 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。