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 次 |
最近记录: |