文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary
前言
大家有没有想过为什么MySQL数据库可以实现主从复制,实现持久化,实现回滚的呢?其实关键在于MySQL里的三种log
,分别是:
- binlog
- redo log
- undo log
这三种log也是面试经常会问的问题,下面我们一起来探讨一下吧。
一、binlog
binlog应该是日常中听的最多的关于mysql中的log。
那么什么是binlog呢?
binlog是用于记录数据库表结构和表数据变更的二进制日志,比如insert、update、delete、create、truncate等等操作,不会记录select、show操作,因为没有对数据本身发生变更。
binlog文件长什么样子呢?
使用mysqlbinlog
命令可以查看。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-63Sik8eg-1616308429680)(https://static.lovebilibili.com/mysql_log_1.png)]
会记录下每条变更的sql语句,还有执行开始时间,结束时间,事务id等等信息。
如何查看binlo