监控mysql数据库主从状态-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

监控mysql数据库主从状态

简介:

python版本2.6.6


#!/usr/bin/python

import MySQLdb

def check_mysql():
    status = True
    try:
        conn=MySQLdb.connect(host='172.7.10.8',user='summer',passwd='summer',db='cms')
        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()
        status = True
        if io_thread == "Yes" and sql_thread == "Yes":
            print '2'
            status = True
        else:
            print '0'
            status = False
    except Exception,e:
        print Exception,":",e

go = check_mysql()


听大神的修改后代码:





#!/usr/bin/python

import MySQLdb

def check_mysql():
    try:
         conn=MySQLdb.connect(host='172.7.10.8',user='summer',passwd='summer',

        db='cms')

        cur=conn.cursor(MySQLdb.cursors.DictCursor)
        cur.execute('show slave status')
        result=cur.fetchall()
        if result is None:
            raise EnvironmentError('result is None')
        slave_status=result[0]
        io_thread=slave_status.get('Slave_IO_Running')
        sql_thread=slave_status.get('Slave_SQL_Running')
        if io_thread == "Yes" and sql_thread == "Yes":
            print 'it is status ok'
        else:
            print 'io_status is %s \nsql_status is %s' %(io_thread,sql_thread)

    finally:
        cur.close()
        conn.close()

if __name__ == '__main__':
    check_mysql()
~










本文转自 妙曼  51CTO博客,原文链接:http://blog.51cto.com/yanruohan/1942758,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章