MySql启用SQL trace追踪SQL语句的操作

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

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

在MySql5.1.12之前

在my.cnf或者my.ini中的[mysqld]节下配置:
log = /path/for/file/live-query.log

 而在MySql 5.1.12中,你需要在上述配置文件中的[mysqld]中配置:

general_log=1

5.1.29中,包括之后版本(本文处在:5.6.11版本),你就需要再加上一句:

general_log_file = /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';
-- 设置完之后,就已经生效了

 

Saturday, September 14, 2013 | 其他技术

文章评论

No comments posted yet.

发表评论

Please add 5 and 1 and type the answer here:

关于博主

  一枚成分复杂的网络IT分子,常年游弋于电子商务,属于互联网行业分类中的杂牌军。当前正在待业中...