可以通过以下步骤来判断自己是主状态:

  1. 首先,使用shell脚本连接到MySQL集群中的一个节点,例如:
mysql -h node1 -u root -p
  1. 然后,使用以下命令查看当前节点的状态:
SHOW GLOBAL VARIABLES LIKE 'read_only';

如果输出的结果为read_only为OFF,则表示当前节点是主节点;如果read_only为ON,则表示当前节点是备节点。

  1. 可以将以上命令封装到一个shell脚本中,然后通过定时执行脚本来实现自动判断当前节点的状态。例如:
#!/bin/bash

readonly=$(mysql -h node1 -u root -p -e "SHOW GLOBAL VARIABLES LIKE 'read_only';" | awk '{print $2}')

if [ "$readonly" = "OFF" ]; then
  echo "I am the master node."
else
  echo "I am the slave node."
fi

将以上脚本保存为一个文件,例如check_master.sh,然后通过定时执行该脚本来实现自动判断当前节点的状态。例如,可以使用cron来每分钟执行一次该脚本:

* * * * * /path/to/check_master.sh
在mysql集群中如何通过shell脚本判断自己是主状态怎么实现

原文地址: https://www.cveoy.top/t/topic/brj4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录