MySQL如何记录线程连接(我需要用户和ip)

时间:2010-12-08 09:12:07

标签: mysql

我不时需要解析我的mysql binlog,找出哪个查询更改了我数据库中的特定值。

查询条目如下所示:

# 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,但是从哪个位置找到相应的用户/ ip?

1 个答案:

答案 0 :(得分:1)

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

然后,您可以找到所有连接以及它们在那里运行的查询。我警告说,这个日志变得很大,所以要小心使用。

这是我刚刚以root身份连接到本地服务器的示例。

101208 10:55:18      5667 Connect  root@localhost on 
                     5667 Query select @@version_comment limit 1
101208 10:55:26      5667 Query show databases