MySQL 日志 redo log、undo log、binlog、relay log、general log、slow query log、errorlog

MySQL中有以下7种类型日志文件:

  1. 重做日志(redo log):保证事务的持久性。事务开始后,将执行过程中修改的数据逐步写入log buffer缓冲区,然后刷到磁盘。可以使用double write buffer两次写保证数据页的完整性。
  2. 回滚日志(undo log):保证事务的原子性。提供多版本并发控制读。每条修改记录都会记录undo log,并通过roll_pointer将undo log串成一个链表,形成版本链。
  3. 二进制日志(binlog):用于实现主从复制。主库数据修改后会记录binlog,给从库读取。
  4. 中继日志(relay log):用于实现主从复制。从库读取主库的binlog,然后写入到relay log,SQL线程通过重放relay log,将数据写入本地数据。
  5. 一般查询日志(general log):默认关闭,记录了服务器接收到的每一个查询或是命令。
  6. 慢查询日志(slow query log):记录执行时间过长和没有使用索引的成功的查询语句
  7. 错误日志(errorlog):默认关闭,错误日志记录着mysqld启动和停止,以及服务器在运行过程中发生的错误的相关信息。

猜你喜欢

转载自blog.csdn.net/Anenan/article/details/115289979