当前位置: 代码迷 >> MySQL >> 先头写的检测mysql 从服务器延迟的脚本
  详细解决方案

先头写的检测mysql 从服务器延迟的脚本

热度:72   发布时间:2016-05-05 16:49:24.0
之前写的检测mysql 从服务器延迟的脚本

超简易的查看mysql主从延时的脚本

1 代码逻辑

很简单,就是python连mysql,然后show slave status,然后取2个参数,后面加了一个log模块,然后做了一个循环,5s一次。

2. 代码本体

隐掉了一些敏感信息:

import MySQLdbimport loggingimport timeFORMAT = '%(asctime)-15s  %(message)s'logging.basicConfig(filename='/tmp/slave.log',level=logging.DEBUG,format=FORMAT)#logging.basicConfig(format=FORMAT)dbuser = "xx"dbpass = "xx"dbname = "xx"d=[]d.append('xx.mysql.rds.aliyuncs.com')d.append('xx.mysql.rds.aliyuncs.com')d.append('xx.mysql.rds.aliyuncs.com')d.append('xx.mysql.rds.aliyuncs.com')def get_vars(thedb ):    db1 = MySQLdb.connect(thedb,dbuser,dbpass,dbname)#db1 = MySQLdb.connect('rdso8nxo733x5hq8q2a1.mysql.rds.aliyuncs.com',dbuser,dbpass,dbname)    c = db1.cursor()    c.execute("show slave status")    ret = c.fetchone()    c.close()    db1.close()    return (ret[32],ret[42])while True:    for i in d:        print i        (v1,v2) = get_vars(i)    #print "Seconds_Behind_Master:%s \nSQL_Delay:%s\n" %(ret[32],ret[42])        logging.debug('Seconds_Behind_Master:%s|SQL_Delay:%s',v1,v2)        print "Seconds_Behind_Master:%s \nSQL_Delay:%s\n" %(v1,v2)    logging.debug('end')    time.sleep(5)

版权声明:本文为博主原创文章,未经博主允许不得转载。

  相关解决方案