MySQL 是一款常用的关系型数据库,但是在使用的过程中可能会出现慢查询的问题,导致系统性能急剧下降。针对这种情况,我们可以使用 MySQL 的 bin log 来排查慢查询的问题。
bin-log 是 MySQL 数据库的二进制日志,主要用于数据备份和恢复,同时也可以记录所有对数据库的修改操作,包括写入、修改、删除等。因此,通过查看 bin log,我们可以轻松地定位并排查 SQL 语句执行缓慢的原因。
# 首先,我们需要开启 MySQL 的 bin-log 功能# 修改 MySQL 配置文件,添加如下一行log_bin = mysql-bin# 然后重新启动 MySQL 服务,使配置文件生效# 接着,我们需要通过 MySQL 命令行工具来查看 bin-log# 首先,进入 MySQL 命令行环境mysql -u 用户名 -p# 然后,执行如下命令,查看 bin-logshow binary logs;# 最后,我们可以通过类似如下命令来筛选出满足条件的 SQL 语句mysqlbinlog --start-datetime='2021-10-01 00:00:00' --stop-datetime='2021-10-01 12:00:00' /var/lib/mysql/mysql-bin.000001 | grep 'slow_query'# 上述命令的含义是,从 mysql-bin.000001 文件中读取在 2021 年 10 月 1 日 00:00:00 - 12:00:00 时间段内执行时间超过设定值的 SQL 语句。
通过上述操作,我们就可以通过 bin-log 来快速定位 SQL 语句执行缓慢的原因。