首页 > 数据库 >Mysql日志

Mysql日志

时间:2022-08-20 10:35:15浏览次数:54  
标签:binlog log 记录 写入 Mysql 日志 redo

1 错误日志 Error Log

  • 服务器启动关闭过程中的信息
  • 服务器运行过程中的错误信息
  • 从服务器上启动服务器进程时产生的信息

查看路径: show variables like 'log_error';

 

2 全查询日志 General Query Log

全查询日志记录了所有对数据库的请求信息,不论是否得到了正确的执行。

默认文件名 主机名.log

默认不记录,开启命令 set global_general_log=1

 

3 慢查询日志 Slow Query Log

纪录查询时间超过设定阀值的日志。

需要手动开启并这是阀值参数。

分析工具:mysqldumpslow

 

4  二进制日志 Binary Log

纪录所有变更的操作,select show 等操作不记录

作用

1 恢复,某些数据恢复需要二进制文件

2 用于复制,在主从复制中,从库利用主库上的 binlog 进行重播,实现主从同步;用于数据库基于时间点的还原。

开启命令:set sql_log_bin=1;

 

 

 

5 中继日志RelayLog

 

binlog  I.SÄE*  Master  3.$Éi*binlog  relay log  5ü$f*,  2E}Emaster  Slave  6. E afibinlog  binlog

6 事务日志

 

1 redo log

  • redo log 是重做日志。
  • 它记录了数据页上的改动。
  • 它指事务中修改了的数据,将会备份存储。
  • 发生数据库服务器宕机、或者脏页未写入磁盘,可以通过redo log恢复。
  • 它是Innodb存储引擎独有的

 

 

redolog的执行流程

MySQL*PÄ  update T set a = I where id —666  MYSQL Server  "prepare  FfiEl*lnnodb  redo log  commit  redo log

 

binlog和redolog的不同

实 现 方 式  记 录 方 式  文 件 大 小  日 志 类 型  redolog  用 于 崩 溃 恢 复  Innodb 存 储 引 擎 实 现  循 环 写 的 方 式 记 录 , 写 到 结 尾  时 , 会 回 到 开 头 循 环 写 日 志  r 0 | 。 g 的 大 小 是 固 定 的  逻 犏 日 志  binlog  主 从 复 制 和 数 据 恢 复  server* 实 现 . 所 有 的 存 储 引  擎 都 可 以 使 用 bin 《 og 日 志  通 过 追 加 的 方 式 记 录 , 当 文 件  尺 寸 大 于 给 配 首 值 后 , 后 续 的  日 志 会 记 录 到 新 的 文 件 上  通 过 配 E-eamax-binlog—size  设 首 每 个 b 文 件 大 小  没 有  物 理 日 志

 

 

 

2 undo log

  • undo log 叫做回滚日志,用于记录数据被修改前的信息(比如我们要insert一条数据了,那undo log会记录的一条对应的delete日志。我们要update一条记录时,它会记录一条对应相反的update记录)。
  • 它跟redo log重做日志所记录的相反,重做日志记录数据被修改后的信息。undo log主要记录的是数据的逻辑变化,为了在发生错误时回滚之前的操作,需要将之前的操作都记录下来,这样发生错误时才可以回滚。
  • 同时可以提供多版本并发控制下的读(MVCC)

 

 

问题

redo log与binlog的区别

第一:redo log是在InnoDB存储引擎层产生,而binlog是MySQL数据库的上层产生的。

第二:MySQL的binlog是逻辑日志,其记录是对应的SQL语句。而innodb存储引擎层面的重做日志是物理日志。

第三:两种日志与记录写入磁盘的时间点不同,二进制日志只在事务提交完成后进行一次写入。

而innodb存储引擎的重做日志在事务进行中不断地被写入,并日志不是随事务提交的顺序进行写入的。

第四:binlog不是循环使用,在写满或者重启之后,会生成新的binlog文件,redo log是循环使用。

第五:binlog可以作为恢复数据使用,主从复制搭建,redo log作为异常宕机或者介质故障后的数据恢复使用。

标签:binlog,log,记录,写入,Mysql,日志,redo
From: https://www.cnblogs.com/gustavo/p/16607252.html

相关文章

  • Log4NET 日志分割删除与压缩解决思路(附源码)
    最近公司发现,日志产生的太多了,于是让我写个方法来解决,一开始是让我删除,后来想了想让我先压缩再删除文件夹,下面提供两个版本的源代码及简单使用。注:这两个代码也是博主CV的......
  • Debezium的基本使用(以MySQL为例)
    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。一、Debezium介绍摘自官网:Debeziumisa......
  • docker安装mysql8.0
    dockerrun\-p3306:3306\-eMYSQL_ROOT_PASSWORD=QQ.123\-v/home/data/mysql8/data:/var/lib/mysql:rw\-v/home/data/mysql8/log:/var/log/mys......
  • python操作mysql的应用(重复运行注册用户的接口)
    1.comm里放置数据操作代码2.conftest.py里放置删除用户代码3.test_register.py里放置测试注册用户的代码(运行注册接口之前先从数据库删除注册的账号)  ----------......
  • MYSQL 索引2
    MYSQL索引深入浅出1.1什么是索引(What)1.1.1索引描述索引在搜索引擎优化简单解释指已经被收录且参与关键词排名的页面。索引的通俗解释索引就像是图书......
  • MySQL传统主从复制
    MySQL传统主从复制为什么要做主从复制做主从复制的目的,并不是为了备份为了解决主库的单点故障为了减少主库的压力(读写分离)复制是MySQL的一项功能,允许服务器将更改从......
  • Mysql事务控制
    事务Transaction并发控制的基本操作可以看成一系列的SQL语句要么成功,要么失败,失败回滚事务特性ACID原子性Atomicity:事务内的操作要么全部成功,要么全部失败一致性C......
  • Canal 过滤/同步 DDL 语句到 MySQL 从库
    canal.deploy配置vimcanal.propertiescanal.serverMode=tcpvimexample/instance.properties#只同步FlinkEtl数据库的数据#tableregexcanal.instance.f......
  • 基于StatefulSet控制器运行MySQL一主多从
      基于StatefulSet的mysql主从架构  下载xtrabackup镜像root@deploy:/dockerfile/project/mysql/pv#dockerpullregistry.cn-hangzhou.aliyuncs.com/liangxiaohu......
  • 【2022-08-19】mysql基础知识(六)
    mysql基础知识(六)mysql之视图view什么是视图?视图就是通过查询得到的一张虚拟表,然后保存下来,下次直接进行使用即可。即:将SQL语句的查询结果当做虚拟表保存起来,以后可......