MySQL日志

MySQL日志 (biancheng.net)

日志是数据库的重要组成部分,主要用来记录数据库的运行情况、日常操作和错误信息。
在 MySQL 中,日志可以分为二进制日志错误日志通用查询日志慢查询日志。对于 MySQL 的管理工作而言,这些日志文件是不可缺少的。分析这些日志,可以帮助我们了解 MySQL 数据库的运行情况、日常操作、错误信息和哪些地方需要进行优化。
下面简单介绍 MySQL 中 4 种日志文件的作用。

  • 二进制日志:该日志文件会以二进制的形式记录数据库的各种操作,但不记录查询语句。
  • 错误日志:该日志文件会记录 MySQL 服务器的启动、关闭和运行错误等信息。
  • 通用查询日志:该日志记录 MySQL 服务器的启动和关闭信息、客户端的连接信息、更新、查询数据记录的 SQL 语句等。
  • 慢查询日志:记录执行事件超过指定时间的操作,通过工具分析慢查询日志可以定位 MySQL 服务器性能瓶颈所在。

为了维护 MySQL 数据库,经常需要在 MySQL 中进行日志操作,包含日志文件的启动、查看、停止和删除等,这些操作都是数据库管理中最基本、最重要的操作。

在 MySQL 所支持的日志文件里,除了二进制日志文件外,其它日志文件都是文本文件。默认情况下,MySQL 只会启动错误日志文件,而其它日志则需要手动启动

错误日志

错误日志(Error Log)是 MySQL 中最常用的一种日志,主要记录 MySQL 服务器启动和停止过程中的信息、服务器在运行过程中发生的故障和异常情况等。

MySQL错误日志(Error Log)详解 (biancheng.net)

错误日志中记录着开启和关闭 MySQL 服务的时间,以及服务运行过程中出现哪些异常等信息。如果 MySQL 服务出现异常,可以到错误日志中查找原因。
在 MySQL 中,通过 SHOW 命令可以查看错误日志文件所在的目录及文件名信息。

SHOW VARIABLES LIKE 'log_error';

从上面信息可以知道错误日志的文件路径,找到后用记事本打开查看即可。

二进制日志

二进制日志(Binary Log)也可叫作变更日志(Update Log),是 MySQL 中非常重要的日志。主要用于记录数据库的变化情况,即 SQL 语句的 DDL 和 DML 语句,不包含数据记录查询操作
如果 MySQL 数据库意外停止,可以通过二进制日志文件来查看用户执行了哪些操作,对数据库服务器文件做了哪些修改,然后根据二进制日志文件中的记录来恢复数据库服务器。
默认情况下,二进制日志功能是关闭的。可以通过以下命令查看二进制日志是否开启,命令如下:

从结果可以看出,二进制日志是关闭的。

MySQL二进制日志(Binary Log)详解 (biancheng.net)

MySQL使用二进制日志还原数据库 (biancheng.net)

通用查询日志

通用查询日志(General Query Log)用来记录用户的所有操作,包括启动和关闭 MySQL 服务、更新语句和查询语句等。
默认情况下,通用查询日志功能是关闭的。可以通过以下命令查看通用查询日志是否开启,命令如下:

show variables like '%general%';

从上面信息可以知道,通用查询日志的开启状态和文件路径,找到后用记事本打开,即可查看。

开启:on,关闭:off

set global general_log=on;

MySQL通用查询日志(General Query Log) (biancheng.net)

慢查询日志

慢查询日志用来记录在 MySQL 中执行时间超过指定时间的查询语句。通过慢查询日志,可以查找出哪些查询语句的执行效率低,以便进行优化
通俗的说,MySQL 慢查询日志是排查问题的 SQL 语句,以及检查当前 MySQL 性能的一个重要功能。如果不是调优需要,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。
默认情况下,慢查询日志功能是关闭的。可以通过以下命令查看是否开启慢查询日志功能。命令和执行过程如下:

show variables like 'slow_query%';
show variables like 'long_query_time';

参数说明如下:

  • slow_query_log:慢查询开启状态
  • slow_query_log_file:慢查询日志存放的位置(一般设置为 MySQL 的数据存放目录)
  • long_query_time:查询超过多少秒才记录
# 启动
set global slow_query_log=ON;
# 设置指定时间,n为秒数
set global long_query_time=n;

MySQL慢查询日志(Slow Query Log) (biancheng.net)

posted @ 2023-05-18 20:03  鹿先森JIAN  阅读(72)  评论(0编辑  收藏  举报