美文网首页
MySQL的日志

MySQL的日志

作者: packet | 来源:发表于2019-04-17 11:04 被阅读0次

MySQL中一种有7种日志

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

redo/undo是实现数据库事务的基石。
undo用来回滚事务。它记录的是修改之前的数据。当事务未提交(事务异常,或者系统崩溃来不及提交),重新启动的时候,会回复到事务开启之前的状态。保证了原子性
redo用来重做事务。它记录的是修改之后的数据。当事务已经提交,但未同步到磁盘中的data file。系统重启时,会同步到磁盘中。保证了持久性

bin log的作用有两个

  1. 主从复制
  2. 从数据库层面恢复数据(注意不是从事务层面)


    主从复制的原理

    主服务器的log dump线程,会把bin log传给slave。slave 的IO线程接收到数据之后,会把存储到relay log,SQL线程会把relay log中的数据读取出来,写到slave中。

2019-04-18补充:
主从复制的缺点:

  1. 只满足最终一致性,复制是异步的,所以主从数据之间会有一段微小时间的延迟
  2. 当master宕机时,需要手动切换从服务器。

感谢:你来谈谈数据库优化的几个阶段?

相关文章

网友评论

      本文标题:MySQL的日志

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