查看SQL執行記錄(MySQL5.7)


show profile

  1. 查看profiling設置

    SHOW GLOBAL VARIABLES LIKE "profiling%"
    

  2. 設置profiling開啟

    SET GLOBAL profiling = ON
    

  3. 查看最近執行的sql

    SHOW PROFILES
    

    記住Query_ID,可以查看這條sql執行詳情。

  4. 查看一條sql的詳情

    SHOW PROFILE cpu,block io for 34;
    

    cpu和block io是參數,查看這兩項參數的執行情況,下面是全部參數。

    然后看一下執行的結果:

    可以看到SQL執行的全部流程。

全局查詢日志

  1. 查看全局查詢日志的設置

    SHOW GLOBAL VARIABLES LIKE "general_log%"
    

  2. 設置全局查詢日志的參數

    SET GLOBAL general_log = ON
    

    下面是設置日志的保存位置,你還可以設置保存為數據表;

    SET GLOBAL log_output = "TABLE"
    SHOW GLOBAL VARIABLES LIKE "log_output%"
    

  3. 查詢所有執行的SQL

    如果是文件的話就根據general_log_file參數打開文件查看。

    如果設置的是table的話,日志被保存在MySQL數據庫默認的mysql數據庫general_log表中。

    select * from mysql.general_log
    

    全局查詢日志是排查問題的,一定不要在上線的項目中開啟。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM