Mysql日志总结


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

 

binlogredolog的不同

实 现 方 式  记 录 方 式  文 件 大 小  日 志 类 型  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作为异机或者介故障后的数据恢使用。