1. 程式人生 > >將慢日誌轉存到數據庫

將慢日誌轉存到數據庫

execute ins com mys spl 轉存 open for mes

import re
import MySQLdb

host=10.76.45.7
port=3306
user=test
password=test
dbName=test

def loadSlowLogtoDb(mysqlConn,keyValueList):
    insertSql="insert into slowLog(     Rows_examined,Rows_sent,Thread_id,arg,cmd,db,fingerprint,host,ip,timestamp,user)     values(%s,%s,%s,%s,%s,%s,%s,%s,%s,from_unixtime(%s),%s ) 
" % (keyValueList[Rows_examined],keyValueList[Rows_sent],keyValueList[Thread_id],keyValueList[arg],keyValueList[cmd],keyValueList[db],keyValueList[fingerprint],keyValueList[host],keyValueList[ip],keyValueList[timestamp],keyValueList[user]) #print insertSql try: cursor
= mysqlConn.cursor() cursor.execute(insertSql) mysqlConn.commit() except MySQLdb.Error, e: print "Error %s: %s" % (e.args[0], e.args[1]) pass def getConnection(): try: conn=connection=MySQLdb.connect(host=host, port=port, user=user, passwd=password, db=dbName,connect_timeout=10)
return conn except MySQLdb.Error, e: print "Error %s: %s" % (e.args[0], e.args[1]) pass return None slowFile = open(2330.slow.detail) keyValueList={} conn=getConnection() for line in slowFile: if None != re.match("^\$VAR1 = {$",line): print "begin" keyValueList={} elif None != re.match("};",line): print "end" loadSlowLogtoDb(conn,keyValueList) else: #print line lineStrip=line.strip() lineLen=len(lineStrip) if lineStrip.endswith(,): lineWitoutLastComma=lineStrip[0:-1] else: lineWitoutLastComma=lineStrip #print lineStrip keyValuePair=re.split( => ,lineWitoutLastComma) if len(keyValuePair)==1: keyValueList["arg"]="undefined" continue #print keyValuePair[0] #print keyValuePair[1] keyValueList[keyValuePair[0]]=keyValuePair[1]

將慢日誌轉存到數據庫