Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 编程 > Python > 正文

检查mysql数据库主从重要表的数据一致性

时间:2016-06-26 18:47 来源:网络整理 作者:linux系统 阅读:

检查mysql数据主从重要表的数据一致性

时间:2013-08-07 00:32来源:51cto.com博客 作者:lover007 的BLOG 举报 点击:次

 mysql数据库主从做起来不难,但是主从数据的一致性很重要, 【linux系统】 ,本脚本用于粗略检查mysql数据库主从重要表的数据一致性,主要是在主从正常的情况下,连接数据库统计表的条数是否一致,脚本分为两部分,一个是py脚本, 【linux操作系统】 ,一个是ini配置文件, 【linux教程】 ,py脚本源码如下:

#!/usr/bin/env python #This script is used check mysql replcation some table # -*- coding: utf-8 -*- import sys,time,MySQLdb,threading import ConfigParser class Check: def __init__(self): self.w =[] self.table = table def conf(self): fp = ConfigParser.ConfigParser() fp.readfp(open('config.ini')) iplist = fp.get("global", "iplist") return iplist def wd(self,table): iplist = self.conf() hostlist = [] self.w = [] threads = [] for i in iplist.split(";"): hostlist.append(i.split(",")) for i in range(len(hostlist)): host = hostlist[i][0] hostname = hostlist[i][1] t = threading.Thread(target=self.mysql_check,args=(host,hostname,i)) threads.append(t) t.start() time.sleep(0.05) for i in range(len(hostlist)): threads[i].join() self.w.sort() for r in range(len(self.w)): print self.w[r] def mysql_check(self,host,hostname,i): try: conn = MySQLdb.connect(host = host,user = 'user',passwd = 'passwd',connect_timeout=5) cursor = conn.cursor() sql = "SELECT COUNT(*) FROM %s" % self.table cursor.execute(sql) alldata = cursor.fetchall() count = alldata[0][0] value = hostname + "\t" + str(count) self.w.append(value) except: print "Can not Connect to " + host + " mysql server" return 0 if __name__ == "__main__": table_list = ['adb.credit_log','adb.account','ddb.data'] for i in range(len(table_list)): table = table_list[i] print "Table Count: " + table print boss = Check() boss.wd(table) print

config.ini文件格式如下:

 

  • iplist = 192.168.50.1,沧海一笑_adb(主);192.168.50.2,沧海一笑_adb(从);192.168.50.3,落英缤纷_adb(主);192.168.50.4,落英缤纷_adb(从) 
  •  执行结果如下:

    Table Count:  adb.credit_log

    沧海一笑_adb(从) 1485149
    沧海一笑_adb(主) 1485149
    开天辟地_adb(从) 877838
    开天辟地_adb(主) 877838
    落英缤纷_adb(从) 1484796
    落英缤纷_adb(主) 1484796
    如虎添翼_adb(从) 1166470
    如虎添翼_adb(主) 1166470
    天地雄心_adb(从) 609058
    天地雄心_adb(主) 609058
    天罡北斗_adb(从) 1106899
    天罡北斗_adb(主) 1106899

    Table Count:  adb.account

    沧海一笑_adb(从) 4295144
    沧海一笑_adb(主) 4295144
    开天辟地_adb(从) 1386242
    开天辟地_adb(主) 1386242
    落英缤纷_adb(从) 2608761
    落英缤纷_adb(主) 2608761
    如虎添翼_adb(从) 1678627
    如虎添翼_adb(主) 1678627
    天地雄心_adb(从) 2733346
    天地雄心_adb(主) 2733346
    天罡北斗_adb(从) 3925829
    天罡北斗_adb(主) 3925829

    Table Count:  ddb.data

    沧海一笑_adb(从) 19026601
    沧海一笑_adb(主) 19026601
    开天辟地_adb(从) 8131988
    开天辟地_adb(主) 8131988
    落英缤纷_adb(从) 11684648
    落英缤纷_adb(主) 11684648
    如虎添翼_adb(从) 8529377
    如虎添翼_adb(主) 8529377
    天地雄心_adb(从) 11533682
    天地雄心_adb(主) 11533682
    天罡北斗_adb(从) 15381099
    天罡北斗_adb(主) 15381099

    ------分隔线----------------------------

  • 上一篇:mysql数据库主从正常切换IP脚本
  • 下一篇:python写的监控mysql主从的app
  • 感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《检查mysql数据库主从重要表的数据一致性》技术文章,《检查mysql数据库主从重要表的数据一致性》详细使用和说明,有时《检查mysql数据库主从重要表的数据一致性》可能不完善、敬请谅解!如果《检查mysql数据库主从重要表的数据一致性》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    验证码:点击我更换图片