可用于监控 mysql Master Slave 状态的python代码

yipeiwu_com6年前Python基础
复制代码 代码如下:

import os
import sys
import MySQLdb
def getStatus(conn):
    query = " SHOW SLAVE STATUS "

    # print query
    cursor = conn.cursor()
    cursor.execute(query)
    result = cursor.fetchall()
    return result[0]
def resolve(conn):
    cursor = conn.cursor()
    query1 = "set global sql_slave_skip_counter=1"
    query2 = "START SLAVE"
    query3 = "SHOW SLAVE STATUS"

    cursor.execute(query1)
    cursor.execute(query2)
    cursor.execute(query3)
    conn.commit()

if __name__ == '__main__':
    conn = MySQLdb.connect(read_default_file="~/.my.cnf", db="", port=3306, charset="utf8")
    status = getStatus(conn)
    print "Master_Log_File: %s" % status[5]
    print "Read_Master_Log_Pos: %s" % status[6]
    print "Seconds_Behind_Master: %s" % status[-1]
    if status[32] is None:
        resolve(conn)
    else:
        print 'resolved'

相关文章

Django后台获取前端post上传的文件方法

Django后台获取前端post上传的文件方法

由于初学Django所以对于其特有的表单模板和models中的filefiled并不是特别熟悉。因此在本次开发中还是依照以往自己在html中写好图片提交表单: 注意在<form&...

Anaconda2 5.2.0安装使用图文教程

Anaconda2 5.2.0安装使用图文教程

Anacond的介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包,Anacon...

python获取当前运行函数名称的方法实例代码

python获取当前运行函数名称的方法实例代码 摘要: c/c++中获取函数所在源码名,函数名和行号的方法很简单 __FILE__,__FUNCTION__和__LINE__ pytho...

Python中datetime模块参考手册

前言 Python提供了多个内置模块用于操作日期时间,像 calendar,time,datetime。time模块提供的接口与C标准库 time.h 基本一致。相比于 time 模块,...

用Python从0开始实现一个中文拼音输入法的思路详解

用Python从0开始实现一个中文拼音输入法的思路详解

众所周知,中文输入法是一个历史悠久的问题,但也实在是个繁琐的活,不知道这是不是网上很少有人分享中文拼音输入法的原因,接着这次NLP Project的机会,我觉得实现一发中文拼音输入法,看...