binlog是二进制文件,它记录两种信息:
- table的结构的变更,比如create,alter table
- table的数据的变更,比如update, delete , insert into
binlog不会记录select语句和show语句的信息.
binlog包括两种文件:
- 索引文件:后缀是.index
- 日志文件:后缀是.00000*,分为两部分,一部分在缓存,一部分在硬盘,缓冲达到一定次数,会刷到磁盘里。
binlog的重要应用:恢复、复制、审计。
恢复:删除库以后,根据binlog恢复。
复制:主从复制
主库有一个log dump线程,将binlog传给从库
从库有两个线程,一个I/O线程,一个SQL线程,I/O线程读取主库传过来的binlog内容并写入到relay log,SQL线程从relay log里面读取内容,写入从库的数据库。
审计:用户可以通过二进制日志中的信息来进行审计,判断是否有对数据库进行注入攻击。
怎样查看binlog?
命令:mysqlbinlog
鸣谢:什么是binlog
网友评论