在此解决方案中,心跳信号由heartbeat进程发出,该进程在主数据库和备份数据库上同时运行。当主数据库不再发送心跳信号时,备份数据库会自动将自己提升为主数据库。这是通过将共享存储中的标志位更改为“主”来实现的。
共享存储是指两个或多个计算机共享的存储设备。在这种解决方案中,共享存储通常是SAN(存储区域网络)或NAS(网络附加存储器)。主数据库和备份数据库可以共享此存储并访问其中的数据。
[root@database1 ~]# service mysqld stop [root@database2 ~]# service mysqld stop # configure MySQL replication # ... # start MySQL on primary server [root@database1 ~]# service mysqld start # stop MySQL on secondary server [root@database2 ~]# service mysqld stop # start heartbeat service on both servers [root@database1 ~]# service heartbeat start [root@database2 ~]# service heartbeat start
在上面的示例中,MySQL主从复制已配置,并且heartbeat服务已启动。如果主数据库(database1)发生故障,备份数据库(database2)将接管其功能并成为新的主数据库。
使用MySQL heartbeat共享存储可以确保高可用性,并最大限度地减少因故障而导致的停机时间。它需要一些配置和管理,但是一旦设置完毕,它可以帮助管理员保持对数据库的完全控制。