首页 > 数据库技术 > 详细

mysql general log 查看mysql 执行历史

时间:2015-08-19 16:48:35      阅读:283      评论:0      收藏:0      [点我收藏+]

我们有时候需要查看mysql的执行历史,比如我们做sql优化的时候,起码要知道执行的sql是什么,框架一般会帮我们拼装sql,所以在程序中不一定能够打印出sql,这个时候就需要mysql的general
log了。


查看设置mysql genneral log

show VARIABLES like ‘%general_log%‘;

set GLOBAL general_log = off;// on-打开; off-关闭

general_log ON
general_log_file    /var/log/mysql/query.log

使用mysql general log

tail -f /path/to/log/query.log | grep yourtable
13518 Prepare   SELECT count(*) AS `count` FROM `babysitter_tips` WHERE (tip_type = ‘1‘) AND (is_enable = 1) AND (is_tip = 2)
        13518 Query DESCRIBE `babysitter_tips`
        13518 Close stmt
        13518 Prepare   SELECT `babysitter_tips`.* FROM `babysitter_tips` WHERE (tip_type = ‘1‘) AND (is_enable = 1) AND (is_tip = 2) ORDER BY `created_time` desc LIMIT 5
        13518 Reset stmt
        13518 Close stmt
        13518 Prepare   SELECT count(*) AS `count` FROM `babysitter_tips` WHERE (tip_type = ‘1‘) AND (is_enable = 1) AND (is_tip = 2) AND (tip_id > 15440)
        13518 Close stmt
        13518 Prepare   SELECT count(*) AS `count` FROM `babysitter_tips` WHERE (tip_type = ‘3‘) AND (is_enable = 1) AND (is_tip = 2)
        13518 Query DESCRIBE `babysitter_tips`
        13518 Close stmt
        13518 Prepare   SELECT `babysitter_tips`.* FROM `babysitter_tips` WHERE (tip_type = ‘3‘) AND (is_enable = 1) AND (is_tip = 2) ORDER BY `created_time` desc LIMIT 5
        13518 Reset stmt
        13518 Close stmt
        13518 Prepare   SELECT count(*) AS `count` FROM `babysitter_tips` WHERE (tip_type = ‘3‘) AND (is_enable = 1) AND (is_tip = 2) AND (tip_id > ‘‘)
        13518 Close stmt
        13518 Prepare   SELECT count(*) AS `count` FROM `babysitter_tips` WHERE (tip_type = ‘2‘) AND (is_enable = 1) AND (is_tip = 2)
        13518 Query DESCRIBE `babysitter_tips`
        13518 Close stmt
        13518 Prepare   SELECT `babysitter_tips`.* FROM `babysitter_tips` WHERE (tip_type = ‘2‘) AND (is_enable = 1) AND (is_tip = 2) ORDER BY `created_time` desc LIMIT 5
        13518 Reset stmt
        13518 Close stmt

清理mysql general log

general log会比较大,所以默认市关闭的,所以最好需要的时候打开,随手关闭。如果发现query.log过大,可以手动删除。在general log打开的情况下,query.log文件类似于mysql表的lock情况,不允许修改和删除,关闭general log就可以操作了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

mysql general log 查看mysql 执行历史

原文:http://blog.csdn.net/wkupaochuan/article/details/47781749

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!