展会信息港展会大全

检查mysql数据库主从重要表的数据一致性
来源:互联网   发布日期:2015-08-20 22:23:03   浏览:1812次  

导读: mysql数据库主从做起来不难,但是主从数据的一致性很重要,本脚本用于粗略检查mysql数据库主从重要表的数据一致性,主要是在主从正常的情况下,连接数据库统计表的条数是否一致,脚本分为两部分,一个是py脚本,一个是ini配置文件,py脚本源码如下: #!/usr/...

mysql数据库主从做起来不难,但是主从数据的一致性很重要,本脚本用于粗略检查mysql数据库主从重要表的数据一致性,主要是在主从正常的情况下,连接数据库统计表的条数是否一致,脚本分为两部分,一个是py脚本,一个是ini配置文件,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文件格式如下:

[global]

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 数据库 主从 重要

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港