Mysql常见的日志种类及作用

1.redo 重做日志

  作用:确保日志的持久性,防止在发生故障,脏页未写入磁盘。重启数据库会进行redo log执行重做,达到事务一致性

 

2.undo 回滚日志

   作用:保证数据的原子性,记录事务发生之前的一个版本,用于回滚,innodb事务可重复读和读取已提交 隔离级别就是通过mvcc+undo实现

 

3.errlog 错误日志

  作用:Mysql本身启动,停止,运行期间发生的错误信息

 

4.slow query log 慢查询日志

  作用:记录执行时间过长的sql,时间阈值可以配置,只记录执行成功

 

5.bin log 二进制日志

  作用:用于主从复制,实现主从同步

 

6.relay log 中继日志

  作用:用于数据库主从同步,将主库发来的bin log保存在本地,然后从库进行回放

 

7.general log 普通日志

  作用:记录数据库的操作明细,默认关闭,开启后会降低数据库性能

 

主从读写机制原理:

  1.主库打开binlog

  2.当有增删改操作时,必须记录到主库的binlog

  3.主库通过IO线程把binlog里的内容传给从库relay log

  4.从库sql线程负责读取relay log里的信息并应用到数据库

  

posted @ 2020-03-18 10:14  Admin_sys  阅读(3271)  评论(0编辑  收藏  举报