コード例 #1
0
ファイル: ybinlog.py プロジェクト: sloppyfocus/ybinlogp
#!/opt/local/bin/python2.6
import os
import ybinlogp

log = os.open('/nail/home/evan/mysql-bin.000007', os.O_RDONLY)
binlog = ybinlogp.binlog(log)

for entry in binlog:
	if entry.query:
		print ('query %s, %s' % (entry.query.database, entry.query.statement))
	elif entry.rotate:
		print ('rotate %d, %s' % (entry.rotate.next_position, entry.rotate.next_file))
	elif entry.xid:
		print ('xid %d' % (entry.xid.id))
	elif entry.rand:
		print ('rand %d %d' % (entry.rand.seed_1, entry.rand.seed_2))
	elif entry.format_description:
		print ('description %d %d %s' % (entry.format_description.format_version, entry.format_description.create_timestamp, entry.format_description.server_version))
	elif entry.intvar:
		print ('intvar %d = %d' % (entry.intvar.type, entry.intvar.value))

コード例 #2
0
ファイル: ybinlogp.py プロジェクト: eskil/ybinlogp
#!/opt/local/bin/python2.6

import ybinlogp
import time

def print_queries(queries):
	for event, query in queries:
		print ('%s' % time.ctime (event.timestamp))
		print ('server: %d' % event.server_id)
		print ('qtime: %d' % query.query_time)
		print ('database: %s' % query.database)
		print ('error: %d ' % query.error_code)
		print ('%s\n' % query.statement)

if __name__ == "__main__":
	binlog = ybinlogp.binlog ("mysql/mysql-bin.000001", 0, 0)
	queries = []
	for entry in binlog:
		if entry.query:
			queries.append((entry.event, entry.query,));
	# This here del and adding to a list crap is just to excersize the
	# memory crap to look for things that aren't properly managed.
	del binlog
	print_queries(queries)