查看SQL执行记录(MySQL5.7)
show profile
-
查看profiling设置
SHOW GLOBAL VARIABLES LIKE "profiling%"
-
设置profiling开启
SET GLOBAL profiling = ON
-
查看最近执行的sql
SHOW PROFILES
记住Query_ID,可以查看这条sql执行详情。
-
查看一条sql的详情
SHOW PROFILE cpu,block io for 34;
cpu和block io是参数,查看这两项参数的执行情况,下面是全部参数。
然后看一下执行的结果:
可以看到SQL执行的全部流程。
全局查询日志
-
查看全局查询日志的设置
SHOW GLOBAL VARIABLES LIKE "general_log%"
-
设置全局查询日志的参数
SET GLOBAL general_log = ON
下面是设置日志的保存位置,你还可以设置保存为数据表;
SET GLOBAL log_output = "TABLE" SHOW GLOBAL VARIABLES LIKE "log_output%"
-
查询所有执行的SQL
如果是文件的话就根据general_log_file参数打开文件查看。
如果设置的是table的话,日志被保存在MySQL数据库默认的mysql数据库general_log表中。
select * from mysql.general_log
全局查询日志是排查问题的,一定不要在上线的项目中开启。