33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
'''
|
|
example
|
|
python sqladuit.py -h 100.69.198.71 -P 31903 -uroot -Uroot
|
|
'''
|
|
|
|
import mysql.connector
|
|
from optparse import OptionParser
|
|
|
|
parser = OptionParser(add_help_option=False)
|
|
parser.add_option("-h", "--host", dest="host", help="host")
|
|
parser.add_option("-P", "--port", dest="port", help="port")
|
|
parser.add_option("-u", "--user", dest="user", help="user")
|
|
parser.add_option("-p", "--password", dest="password", help="password")
|
|
parser.add_option("-U", "--username", dest="username", help="username")
|
|
(options, args) = parser.parse_args()
|
|
|
|
user_name = options.username
|
|
if options.password == None:
|
|
passwd = ''
|
|
else:
|
|
passwd = options.password
|
|
conn = mysql.connector.connect(host=options.host, port = int(options.port), user = options.user, password = passwd);
|
|
cur = conn.cursor(dictionary = True);
|
|
last_request_time = 0
|
|
while True:
|
|
cur.execute("select request_time, query_sql from oceanbase.V$OB_SQL_AUDIT where request_time > %d and user_name = '%s' limit 1000" % (last_request_time, user_name))
|
|
rs = cur.fetchall()
|
|
for line in rs:
|
|
sql = line['query_sql'].strip()
|
|
if sql[:len("select")].lower() == 'select':
|
|
print sql
|
|
last_request_time = line['request_time']
|