大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
-- 打开sql 执行记录功能
成都创新互联公司于2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元长丰做网站,已为上家服务,为长丰各地企业和个人服务,联系电话:18982081108
set global log_output='TABLE'; -- 输出到表
set global log=ON; -- 打开所有命令
执行记录功能general_log, 所有语句: 成功和未成功的.
set global log_slow_queries=ON; -- 打开慢查询 sql 记录
slow_log, 执行成功的: 慢查询语句和未使用索引的语句
set global long_query_time=0.1; -- 慢查询时间限制(秒)
set global log_queries_not_using_indexes=ON; -- 记录未使用索引的sql 语句
-- 查询sql 执行记录
select * from mysql.slow_log order by 1; -- 执行成功的:慢查询语句,和未
使用索引的语句
select * from mysql.general_log order by 1; -- 所有语句: 成功和未成功的.-- 关闭sql 执行记
在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服务器当前正在执行的语句了。
文章出处: