如何用python脚本测试mysql的主从
今天为了采集mysql的相关配置信息,需要利用脚本采集mysql的配置,包括data、base、config等,但是需要采集mysql的主从关系的时候卡住了。经过同事帮助,得到了如下解决办法:
mysql有一条指令:
show master/slave status;
此条指令能实现查看主从数据库的连接状态。通过这条指令我们就可 以开刷了~
比如:
show master status;
这一条是相当于判断机器是不是主库
如果是从库,返回:
如果是主库,则会返回信息:
当然,并不是所有的数据库都有主从的,单节点的对于个人散机器,更多的是单节点,而单节点对于本身来说就是主库,所以:
一样的~
根据这个可以进行判断:
我的实现方法:
@staticmethod
def get_nodeType(cursor):
nodeType = ""
try:
cursor.execute("show slave status;")
if cursor.fetchall():
nodeType = "从库"
else:
nodeType = "主库"
return nodeType
except Exception as e:
logging.error("show slave status failed:{}".format(e))
return []
美食有三,一日三餐,我是食三。