美文网首页
Mysql - 日志文件

Mysql - 日志文件

作者: 万福来 | 来源:发表于2020-05-15 14:16 被阅读0次

Mysql - 日志文件

Mysql中一共有6种日志文件

  1. 重做日志 - redo log
  2. 回滚日志 - undo log
  3. 二进制日志 - bin log
  4. 中继日志 - relay log
  5. 错误日志 - error log
  6. 慢查询日志 - slow query log

重做日志 - redo log

  • 用途:确保事务的持久性,防止在发生故障的时候,还有脏页未写入磁盘,在重启mysql的时候根据redolog进行重做,从而保证事务的持久性。
  • 事务开始的时候就会记录redolog,当事务对应的page写入到磁盘后,redo日志占用的空间就可以释放,被覆盖重用。
  • redolog也有日志缓冲区,默认每秒一次刷新到磁盘

回滚日志 - undo log

  • 用途:保存事务发生之前的数据版本,主要用于事务回滚,也可以提供多版本并发控制读(MVCC)。
  • 事务开始之前,将当期版本的数据生成undo log。
  • 当事务提交后,undo log并不立即删除,而是放入待清理链表,由清理线程异步判断是否需要清理。

二进制日志 - bin log

  • 用途:用于主从复制,从库利用主库上的binlog进行重播,实现主从同步功能,也可以实现数据基于时间点的数据还原。
  • 事务提交的时候,一次性将事务中的sql语句按照一定的格式记录到binlog中。

中继日志 - relay log

  • 用途:用于从服务器的sql线程读取relaylog日志内容同步主库数据。
  • relaylog与binlog类似,它是从服务器IO线程将主服务器的binlog读取过来记录到从服务器的本地日志文件。

错误日志 - error log

  • 用途:用于记录mysql服务的错误信息和服务进程的错误信息

慢查询日志 - slow query log

  • 用途:用于记录sql语句执行时长超过配置阈值的sql语句日志

相关文章

网友评论

      本文标题:Mysql - 日志文件

      本文链接:https://www.haomeiwen.com/subject/guscohtx.html