MySQL 日志

server/2025/2/23 11:22:25/

MySQL 日志

慢查询日志(Slow query log)

  • 慢查询⽇志由执⾏时间超过系统变量 long_query_time 指定的秒数的SQL语句组成,并且检
    查的⾏数⼤于系统变量 min_examined_row_limit 指定值。被记录的慢查询需要进⾏优化,
    可以使⽤mysqldumpslow客⼾端程序对慢⽇志进⾏分析汇总。
  • 获取初始锁的时间不计⼊执⾏时间,mysqld在执⾏完SQL语句并释放所有锁后才将符合条件的语
    句写⼊慢速查询⽇志,因此⽇志顺序可能与执⾏顺序不同。

慢查询日志的参数

  • long_query_time 的默认值是10,最小值是0;
  • 默认情况下,不记录管理语句,也不记录不使用索引的查询
  • 默认为关闭(不开启),要启⽤慢查询⽇志可以使⽤:请使用 –slow_query_log[={0|1}]
  • 默认日志名为host_name-slow.log,可以使用slow_query_log_file=file_name修改
  • 使用 –log-short-format 选项,以简要格式记录慢查询⽇志
  • 要记录管理语句,启⽤ log_slow_admin_statements 系统变量。管理语句包括 ALTER
    TABLEANALYZE TABLECHECK TABLECREATE INDEXDROP INDEX
    OPTIMIZE TABLEREPAIR TABLE
  • 要记录不使⽤索引的查询,启⽤ log_queries_not_using_indexes 系统变量。当记录不使
    ⽤索引的查询时,⽇志会快速增长,通过设置系统变量
    log_throttle_queries_not_using_indexes 限制每分钟写⼊慢查询⽇志同类查询的数
    量,默认值是0,表示无限制。

二进制日志(Binary log)

  • Linux下默认开启

  • ⼆进制⽇志包含数据库更改的"事件",不会记录 SELECT 和 SHOW ,例如:记录表的创建操作或

    表数据的更改,⼆进制⽇志还包含每个语句更新数据时花费的时间信息,启动⼆进制⽇志,对服务

    器性能稍微有些影响;

  • 除了基于⾏的⽇志模式,它还包含可能进⾏更改数据的语句事件,例如 DELETE 操作没有匹配到
    查找到的⾏;

  • ⼆进制⽇志的作用:

主从节点数据复制:从节点服务器读取主节点服务器上的⼆进制⽇志⽂件,并根据⼆进制⽇志
中记录的事件在从节点上执⾏相同的操作,保证主从节点服务器上数据⼀致,实现数据复制功
能。在主从复制专题中我们重点讲解复制过程;
数据恢复:从某个时间点恢复备份数据后,将重新执⾏备份时间点之后记录在⼆进制⽇志中的
事件。这些事件使数据库从备份点更新到当前最新状态

  • ⼆进制⽇志的语句中如果涉及⽤⼾的密码,则由服务器进⾏加密,不会以纯⽂本形式出现。

错误⽇志(Error log)

  • 主要记录MySQL服务器在启动、运行过程中发生的错误和异常情况。
  • 错误日志功能是默认开启的,且无法被禁止。

⼀般查询⽇志(General query log)

  • 记录客户端连接到MySQL服务器的时间、用户、主机等信息。
  • 记录客户端提交的所有SQL语句,包括数据的增删改查等操作。
  • 在MySQL数据库中,一般查询日志功能默认是关闭的。

中继日志(Relay Log)

  • 中继日志在从服务器上记录主服务器上的二进制日志(Binary Log)事件。
  • 从服务器通过读取和执行中继日志中的事件,实现与主服务器的数据同步。
  • 默认关闭

DDL日志(Data Definition Language)

  • 用于记录数据定义语言操作的日志。DDL操作用于管理、维护和修改数据库对象的结构,

    例如创建和修改数据表、视图、索引和存储过程等。

  • 默认关闭

回滚日志/撤销日志(undo log)

  • InnoDB存储引擎用来撤销SQL操作的一种日志。当一条写入类型的SQL语句执行时,都会记录Undo Log。

  • 事务回滚:当事务出现错误或需要主动执行回滚操作时,InnoDB使用Undo Log将事务的操作撤销,

    使数据库恢复到事务开始之前的状态。

  • MVCC(多版本并发控制):在并发场景下,InnoDB通过Undo Log支持MVCC,允许多个事务并发执行而不会互相阻塞。

    Undo Log保存了数据的多个版本,事务可以根据隔离级别读取适当的版本,而不是总是最新的数据。

重做日志(redo log)

  • Redo Log记录了对数据库所做的物理修改操作,这些修改操作是在事务执行过程中产生的。

    当系统发生故障或崩溃时,可以利用Redo Log进行数据的恢复,确保事务的持久性。


http://www.ppmy.cn/server/170115.html

相关文章

rk3588/3576板端编译程序无法运行视频推理

图片推理可以,但是视频不行,运行视频推理报错:segment fault. 我遇到的问题原因是ffmpeg安装有问题,可以先在板端运行:ffmpeg -version ffmpeg version 4.2.4-1ubuntu1.0firefly6 Copyright (c) 2000-2020 the FFmpe…

Android SDK封装打包流程详解

在Android开发中,SDK的封装和打包是将功能模块化并供其他开发者使用的常见需求。以下是Android SDK封装和打包的基本流程: 1. 创建Android Library模块 首先,你需要创建一个Android Library模块,而不是普通的Application模块。 在…

Ubuntu22.04 - gflags的安装和使用

目录 gflags 介绍gflags 安装gflags 使用 gflags 介绍 gflags 是Google 开发的一个开源库,用于 C应用程序中命令行参数的声明、定义和解析。gflags 库提供了一种简单的方式来添加、解析和文档化命令行标志(flags),使得程序可以根据不同的运行时配置进行调整。 它具…

告别卡关!XSS挑战之旅全关卡通关思路详解

XSS挑战之旅 XSS测试思路Level1Level2Level3Level4Level5Level6Level7Level8Level9Level10Level11Level12Level13Level14Level15Level16Level17Level18Level19Level20免责声明: XSS测试思路 确定输入输出点: 寻找URL参数、表单输入、HTTP头(R…

C从入门到放弃篇1

各位新入坑C语言的朋友,你们有福了因为你们遇到了我,我会带你放弃C语言,哈哈哈哈哈。 其实,学任何东西都是循序渐进的,在学习的初期投入更多的精力,将来你会越学越快。我相信,放弃是最容易的事…

把 vscode 伪装成 goland

goland 开发项目太卡了,想换到更轻量级的 vscode,但是用久了 goland, vscode 的界面风格和快捷键又看不习惯和用不习惯,所以把 vscode 改成了跟 goland 一样的使用方式。 下载 2个插件 安装插件「JetBrains IDE Keymap」可以让 vs…

区块链相关方法-SWOT分析

1.SWOT 一、定义:一种基于内外部竞争环境和竞争条件下的态势分析,通过对企业的内外环境所形成的优势(Strengths)、劣势(Weaknesses)、机会(Opportunities)和威胁(Threats&#xff0…

stm32108键C-B全调性_动态可视化乐谱钢琴

108键全调性钢琴 一 基本介绍1 项目简介2 实现方式3 项目构成 二 实现过程0 前置基本外设驱动1 声音控制2 乐谱录入&基础乐理3 点阵屏谱点动态刷新4 项目交互控制5 录入新曲子过程 三 展示,与链接视频地址1 主要功能函数一览2 下载链接3 视频效果 一 基本介绍 …