使用Python监控MySQL主从复制

利用Python来检查MySQL的主从复制,有一个注意点是,cur.execute("show slave status;") 不能用cur.execute("show slave status\G;")

result = cur.fetchall()

返回的是个二元数组

result[0] 返回时整个show slave status 状态信息。

result[0][n] 返回具体的某一项。

python代码如下:

#!/usr/bin/env python

#-*- coding: utf-8 -*-

import MySQLdb, socket, paramiko,sys, os,datetime

def final_check_mysql ():

status = True

      try:

                conn=MySQLdb.connect(host='192.168.3.10',user='root',passwd='Xp29at5F37',db='test')

                cur=conn.cursor()

                cur.execute("show slave status;")

result = cur.fetchall()

io_thread= result[0][10]

sql_thread= result[0][11]

print io_thread,sql_thread

                cur.close()

                conn.close()

        except Exception,e:

                print Exception,":",e

status = True

try:

if io_thread == "Yes" and sql_thread == "Yes":

              print 'MySQL master/slave replication status is successfully'

        else:

              print 'MySQL Master/Slave replication fail,Please check it'

              status = False

except Exception,e:

              print Exception,":",e

#return status

go=final_check_mysql()

相关推荐