MySql怎样追踪用户 *** 作记录

MySql怎样追踪用户 *** 作记录,第1张

配置文件开启二进制日志,log-bin[=dir/[filename]] 或者set sql_log_bin=1开启,set sql_log_bin=0关闭。进入二进制文件目录,用mysqlbinlog命令查看二进制日志文件。同样的,开启通用日志文件也可以追踪用户 *** 作记录。

在MsSQL Server中我们要追踪SQL,只需要开启MS SQL中的事件追踪器(SQL Server Profiler)就可以了,而且设置非常的方便。但在MySQL中要实现类似功能需要做些处理,而且 *** 作也比较繁琐 —— 鼠标党,被MS毁了。

要启用MySQL的Sql Trace,需要启用查询日志功能,各个版本 *** 作不一,下面简要说明:

在MySql5.1.12之前

在my.cnf或者my.ini中的[mysqld]节下配置:

log = /path/for/file/live-query.log

而这些所有的参数都是可以在线设置的,也就是说,如果你不想因为修改设置而重启MySql的话,那么在线设置应该是个更好的选择,在进入MySql的 *** 作中:

--这里按照最新版本来设置

--查询关于log的设置

SHOW VARIABLES LIKE 'general_log%'

返回结果类似:

+------------------+------------------------------------------------------------

------------------+

| Variable_name    | Value

                  |

+------------------+------------------------------------------------------------

------------------+

| general_log      | OFF

                  |

| general_log_file | dev-mc.log

                  |

+------------------+------------------------------------------------------------

------------------+

2 rows in set (0.00 sec)

 

注意,general_log_file 的默认值是'机器名'.log

*/

-- 开启日志

SET GLOBAL general_log ='ON'

-- 设置日志的文件路径:本例在Windows下

SET GLOBAL general_log_file='D:/MySql/live-query.log'

-- 设置完之后,就已经生效了

不知你是不是指这个:

用惯了微软的ms sql的事件探查器,一直也想在mysql中找到相应的这么一种工具:

修改my.cnf,在mysqld下添加log一行,

[mysqld]

log= /tmp/mysqld.sql

然后,重新启动mysql,tail -f /tmp/mysqld.sql,就可以实时看到myql服务器当前正在执行的语句了。

文章出处:http://www.diybl.com/course/6_system/linux/Linuxjs/20071129/89017.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8610537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存