查看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
    

    全局查询日志是排查问题的,一定不要在上线的项目中开启。

posted @ 2021-02-02 10:25  denfer  阅读(1958)  评论(0编辑  收藏  举报