分享 / 0 / 1 / 创建于 4年前
主要是分享讨论一些有意思的问题,也可以用这个当做MySQL知识体系的自查表
Binlog的使用场景?Binlog的的收集日志类型、分类、工作模式有哪些?WAL机制的工作过程
自答
问题1
MySQL主从复制:MySQL在Master端开启binlog,Master端将binlog传递给slaves来达到Master-slaves数据一致的目的 异常数据恢复:使用mysqlbinlog工具来恢复数据
问题2
日志类型 错误日志:记录在启动,运行或停止mysqld时遇到的问题 通用查询日志:记录建立的客户端连接和执行的语句 二进制日志:记录更改数据的语句【重点】 中继日志:从复制主服务器接收的数据更改 慢查询日志:记录所有执行时间超过 long_query_time 秒的所有查询或不使用索引的查询 DDL日志(元数据日志):元数据操作由DDL语句执行 文件分类: 二进制日志索引文件(文件名后缀为.index)用于记录所有有效的的二进制文件 二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML语句事件 工作模式: STATEMENT:基于SQL语句的复制(SBR) ROW:基于行的复制(RBR) MIXED:混合模式复制(MBR)
long_query_time
问题3:
WAL机制,主要的操作是先写日志,先在一个日志中记录了MySQL要对硬盘中的存储MySQL数据的数据页中的数据进行什么样的更改,等到Mysql空闲的时候再进行同步操作到硬盘中 同样是操作磁盘,为什么写日志比直接改数据会更加高效?因为写日志是顺序写,直接改磁盘是随机写。所以同样是写,它们写的速度有着天壤之别。这也是WAL的另外一个好处,MYSQL中的WAL机制是基于redolog和binlog实现的
我要举报该,理由是:
自答
问题1
问题2
问题3: