2010-12-08 41 views
1

有时我需要解析我的mysql二进制日志,以找出哪些查询更改了我的数据库中的特定值。MySQL如何记录线程连接(我需要用户和IP)

查询条目看起来是这样的:

# at 335156 
#101208 5:55:57 server id 1 end_log_pos 335265  
     Query thread_id=1772 exec_time=0 error_code=0 
SET TIMESTAMP=1291784157/*!*/; 
UPDATE table SET value = 0 WHERE id = 185555 

,如果现在我想通了特定查询我有thread_id单,但我在哪里可以找到这个条目corrosponding用户/ IP?

回答

0

首先,你必须启用genereral查询日志http://dev.mysql.com/doc/refman/5.5/en/query-log.html

然后你就可以找到所有连接和他们跑过来询问。我警告说,这个日志变得很大,所以小心使用。

这是我以root身份连接到本地服务器的一个例子。

101208 10:55:18  5667 Connect [email protected] on 
        5667 Query select @@version_comment limit 1 
101208 10:55:26  5667 Query show databases