import MySQLdb max_id=250000 sql_prefix="select crc32(group_concat(concat(id,k,c,pad))) from sbtest1 where id>= %s and id < %s" xhdb1 = MySQLdb.connect(host="*", # your host, usually localhost user="sbtest", # your username passwd="*", # your password db="sbtest", port=5002) # name of the data base ypdb1 = MySQLdb.connect(host="*", # your host, usually localhost user="sbtest", # your username passwd="*", # your password db="sbtest", port=5002) # name of the data base i = 1 increment = 1000 xhdb1cur = xhdb1.cursor() xhdb1cur.execute("set session group_concat_max_len =18446744073709551615") ypdb1cur = ypdb1.cursor() ypdb1cur.execute("set session group_concat_max_len =18446744073709551615") while True: sql = sql_prefix % (str(i) , str(i + increment)) xhdb1cur.execute(sql) ypdb1cur.execute(sql) for xhdb1row in xhdb1cur.fetchall(): break for ypdb1row in ypdb1cur.fetchall(): break if xhdb1row[0] != ypdb1row[0]: print "find different between %s and %s " % (str(i) , str(i+increment)) increment = increment/10 continue i += increment if i > max_id: break if increment < 1: break