如何查看MySQL当天SQL执行记录
在MySQL数据库中,我们可以通过查看慢查询日志或者通过查询performance_schema来查看当天SQL执行记录。下面将介绍两种方法。
方法一:查看慢查询日志
MySQL的慢查询日志记录了执行时间超过设定阈值的SQL语句,我们可以通过查看慢查询日志来获取当天SQL执行记录。
1. 配置慢查询日志
首先需要在MySQL的配置文件中启用慢查询日志。找到my.cnf或者my.ini文件,在其中添加以下配置:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 1
这里设置了慢查询日志开启,日志文件路径为/var/log/mysql/mysql-slow.log
,执行时间超过1秒的SQL语句会被记录。
2. 查看慢查询日志
使用以下命令可以查看当天的慢查询日志内容:
sudo cat /var/log/mysql/mysql-slow.log | grep "$(date +"%Y-%m-%d")"
这里通过grep命令筛选出当天的SQL执行记录。
方法二:查询performance_schema
MySQL的performance_schema提供了丰富的性能监控信息,我们可以通过查询performance_schema来获取当天SQL执行记录。
1. 开启performance_schema
确保performance_schema已经开启,如果没有开启可以在MySQL中执行以下语句:
SET GLOBAL performance_schema = ON;
2. 查询performance_schema
我们可以通过查询performance_schema中的events_statements_history
表来获取当天SQL执行记录:
SELECT * FROM performance_schema.events_statements_history
WHERE DATE(event_timestamp) = CURDATE();
这里使用CURDATE()函数获取当天日期,然后查询出当天的SQL执行记录。
总结
通过查看慢查询日志或者查询performance_schema,我们可以获取到MySQL当天的SQL执行记录。如果需要分析SQL执行情况或者优化SQL语句,这些记录将会对我们有所帮助。
gantt
dateFormat YYYY-MM-DD
title MySQL当天SQL执行记录查看甘特图
section 配置慢查询日志
配置慢查询日志 :done, des1, 2022-12-01, 2022-12-02
section 查看慢查询日志
查看慢查询日志 :active, des2, 2022-12-02, 1d
section 查询performance_schema
查询performance_schema :active, des3, after des2, 1d
sequenceDiagram
participant Client
participant MySQL
Client->>MySQL: SET GLOBAL performance_schema = ON;
MySQL-->>Client: OK
Client->>MySQL: SELECT * FROM performance_schema.events_statements_history
MySQL-->>Client: SQL执行记录
通过以上方法,我们可以清晰地查看MySQL当天SQL执行记录,帮助我们分析数据库性能和优化SQL查询。如果有任何疑问或者需要进一步了解,可以继续深入学习相关内容。