MySQL是一款强大的关系型数据库管理系统,是Web应用程序的重要组成部分。在数据库实践中,有时候需要查看历史执行的SQL语句,以便进行故障排查和优化查询。
MySQL提供了两种方法来查看历史执行的SQL语句,分别是general log和slow query log。
general log
general log记录了所有执行的SQL语句,包括成功的和失败的。开启general log对MySQL的性能影响比较大,因此需要谨慎使用,只在需要排查问题时使用。
开启general log:
SET GLOBAL general_log = 'ON';
关闭general log:
SET GLOBAL general_log = 'OFF';
查看general log:
sudo tail -f /var/log/mysql/mysql.log
slow query log
slow query log记录了执行时间超过指定时间的SQL语句。开启slow query log对MySQL的性能影响比较小,可以长期开启,用于优化查询。
开启slow query log:
SET GLOBAL slow_query_log = 'ON';
设置执行时间阈值:
SET GLOBAL long_query_time = 2;
查看slow query log:
sudo tail -f /var/log/mysql/mysql-slow.log
以上就是MySQL查看历史执行的SQL语句的方法。