当前位置: 首页 > news >正文

MySQL 日志

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进行数据的恢复,确保事务的持久性。

相关文章:

  • bash脚本----传参的处理
  • 五十天精通硬件设计第34天-CMOS 和 JFET 放大器中电流噪声的影响
  • 聊一聊Netty中的执行器选择策略
  • 实践深度学习:构建一个简单的图像分类器
  • K8s:kubernetes.io~csi 目录介绍
  • 【2025最新计算机毕业设计】基于SpringBoot+Vue非遗传承与保护研究系统【提供源码+答辩PPT+文档+项目部署】
  • 版本控制与Git实战指南:从入门到WebStorm集成
  • 暴雨受邀参加“DeepSeek影响与启示”特别论坛
  • buuctf刷题记录
  • win10系统上的虚拟机安装麒麟V10系统提示找不到操作系统
  • React 前端框架介绍
  • 国内加大政策推动,多层级标准建立产业规范
  • 外盘期货数据分析新视角:分钟级高频数据解析
  • Onedrive精神分裂怎么办(有变更却不同步)
  • 什么是知识文库?知识存储与管理的利器
  • 【和春笋一起学C++】if else语句
  • Linux运维篇-存储基础知识
  • Maven的依赖管理
  • 【Java】泛型与集合篇(一)
  • 《Python实战进阶》专栏 No2: Flask 中间件与请求钩子的应用
  • 媒体:西安62岁男子当街殴打妻子,警方称打人者已被行拘
  • 罗马尼亚总理乔拉库宣布辞职
  • 上海今日降雨降温,节后首个工作日气温回升最高可达28℃
  • 香港金紫荆广场举行五四升旗礼
  • 人形机器人,最重要的还是“脑子”
  • 山西太原一小区发生爆炸,造成1人遇难21人受伤2人失联