当前位置: 首页>后端>正文

mysql 当天 sql执行记录怎么看

如何查看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查询。如果有任何疑问或者需要进一步了解,可以继续深入学习相关内容。


https://www.xamrdz.com/backend/3w71962023.html

相关文章: