• mysql general log 查看mysql 运行历史


    我们有时候须要查看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就能够操作了。

  • 相关阅读:
    Run keyword if
    sublime Text如何取消两栏窗口?
    WIN7右键在目录当前打开命令行Cmd窗口
    电脑用HDMI线分屏后,耳机或音箱没声音之完美解决!
    如何解决failed to load the jni shared library问题
    APP测试点
    PHP 根据ip判断其所属地址
    thinkPHP git上传的时候,总是有些文件传不上去,.gitignore解析
    Integrity constraint violation: 1052 Column 'status' in where clause is ambiguous
    tp5导出生成pdf
  • 原文地址:https://www.cnblogs.com/llguanli/p/8708432.html
Copyright © 2020-2023  润新知