MB.*_*MB. 3 mysql replication failover
我有两个 MySQL 实例,一个 master 和一个 slave。
如何在避免停机的同时切换它们以使从站成为主站,反之亦然?
如果您使用 DBVIP,您可以从 Master 中删除 DBVIP,然后将其放到 Slave 上。
让我们组成一个 DBVIP,比如10.1.2.30.
把它放在 OS 中的 Master 上
ip addr addr 10.1.2.30/24 dev eth1
Run Code Online (Sandbox Code Playgroud)
将应用程序中的 IP 替换为10.1.2.30,让应用程序继续运行一段时间,确保应用程序正在使用 DBVIP。
这是一些侵略性的东西:
service httpd stop 在所有 Apache 服务器上service mysql stop 在大师上ip addr del 10.1.2.30/24 dev eth1 在大师上ip addr add 10.1.2.30/24 dev eth1 在奴隶service httpd start 在所有 Apache 服务器上SHOW PROCESSLIST; 在从属设备上确保有传入的数据库连接如果您看到来自 Apache 服务器的数据库连接,恭喜您已手动执行故障转移。
如果你不能使用 DBVIP,你必须做更多的工作
STEP 01) 在从站上激活二进制日志
将此添加到 Slave 上的 /etc/my.cnf
[mysqld]
log-bin=mysql-bin
Run Code Online (Sandbox Code Playgroud)
STEP02)service mysql restart在从站上
应在 Slave 中启用二进制日志记录
STEP03)CHANGE MASTER TO使用 Slave 作为 Master 在 Master 上运行命令
STEP04)START SLAVE;在 Master 上运行
这一点
这种配置更好地称为
STEP05)service httpd stop在所有 Apache 服务器上
STEP06) 在 App 中更改 IP 地址以连接到 Slave
STEP07)service httpd start在所有 Apache 服务器上
STEP08)SHOW PROCESSLIST;在 Slave 上确保有传入的 DB Connections
如果您看到来自 Apache 服务器的数据库连接,恭喜您在没有 MySQL 停机的情况下手动执行了故障转移。唯一的停机时间来自时间窗口 STEP05 - STEP07。
| 归档时间: |
|
| 查看次数: |
3990 次 |
| 最近记录: |