【文档】一、Mysql BinLog概述
2023-09-27 14:27:09 时间
Binlog是一系列日志文件,他们包含的内容是Mysql数据内容的改变。如果想开启binlog功能,需要在启动时带上--log-bin参数。
binlog是从Mysql3.23.14版本开始的。它包含所有更新数据的sql语句。
Mysql误删,恢复数据,binlog闪回,宝塔面板 binlog是二进制日志文件,用来记录Mysql内部对数据库的改动(只记录对数据的修改操作),主要用于数据库的主从复制以及增量恢复。 当我们搭建mysql主从复制的时候,两个实例之间也是通过binlog来完成数据的备份同步。 所以有这种根据binlog得到执行sql语句、闪回sql语句,我们只需要利用根据分析binlog,然后就可以找到准确的数据改动sql,并得到闪回sql,检查无误后执行就可以恢复数据了
MySQL 日志之 binlog 格式 → 关于 MySQL 默认隔离级别的探讨 背景问题 再讲 binlog 之前,我们先来回顾下主流关系型数据库的默认隔离级别,是默认隔离级别,不是事务有哪几种隔离级别,别会错题意了 1、Oracle、SQL Server 的默认隔离级别是什么,MySQL 的呢 ? 2、为什么 MySQL 的默认隔离级别是 RR ?
mysql中的undo log、redo log 、binlog大致概要 undo log(回滚日志)、redo log(重做日志) 、binlog (归档日志)undo log,事务的原子性,用于事务回滚和MVCC(存储层,记录查询类)redo log,事务的持久性,用于服务器宕机故障恢复(存储层,记录查询类)binlog,用于数据备份和主从复制(服务层,记录更新修改类)日志区别undo log事务开始前的数据值redo log事务完成后的数据值。
Binlog是一系列日志文件,他们包含的内容是Mysql数据内容的改变。如果想开启binlog功能,需要在启动时带上--log-bin参数。
binlog是从Mysql3.23.14版本开始的。它包含所有更新数据的sql语句。它还包含可能更新数据的语句(比如,删除不存在的数据行的语句),除非日志的记录是以基于行的。sql语句是以描述修改的事件形式存储的。binlog也包含每个语句的执行时间。
binlog还包含其他的一些源数据,比如:
语句执行时,服务器的状态信息,以便用于正确的重新成功执行语句 为了维持binlog文件的连续性所需要的元数据(比如,rotate事件)binlog文件是服务器在执行sql语句过程中整体状态的情况跟踪。它包含的事件描述了状态的变化。更精确的是,binlog事件描述的事件可以被用来重现服务器当时的状态改变。
binlog文件有两个重要的目的:
为了主从复制,binlog文件是master服务器记录的,会被发送给slave服务器。很多binlog的格式细节和处理是用于这个目的的。master服务器发送binlog文件中的事件给slave服务器,然后slave服务器执行这些事件,最终达到的目标就是保证slave服务器的数据变化与master一致。slave服务器在执行这些事件之前,会把这些事件存储在本地的relay log中。relay log的格式与binlog一样。 某些数据恢复操作需要使用binlog。在备份文件恢复后,binlog中的事件会重新执行。这些事件会让数据库的数据回到备份时间点。目前有两种类型的binlog:
基于语句的:包含sql语句的事件(insert、update、delete) 基于行的:描述每一行的数据变化的事件混合的日志默认使用的是基于语句的记录方式,在必要时会切换到基于行的记录方式。基于行的记录方式从Mysql 5.1版本开始支持。
mysqlbinlog工具可以把binlog或者relay log日志以可读的方式打印出来。
Mysql误删,恢复数据,binlog闪回,宝塔面板 binlog是二进制日志文件,用来记录Mysql内部对数据库的改动(只记录对数据的修改操作),主要用于数据库的主从复制以及增量恢复。 当我们搭建mysql主从复制的时候,两个实例之间也是通过binlog来完成数据的备份同步。 所以有这种根据binlog得到执行sql语句、闪回sql语句,我们只需要利用根据分析binlog,然后就可以找到准确的数据改动sql,并得到闪回sql,检查无误后执行就可以恢复数据了
MySQL 日志之 binlog 格式 → 关于 MySQL 默认隔离级别的探讨 背景问题 再讲 binlog 之前,我们先来回顾下主流关系型数据库的默认隔离级别,是默认隔离级别,不是事务有哪几种隔离级别,别会错题意了 1、Oracle、SQL Server 的默认隔离级别是什么,MySQL 的呢 ? 2、为什么 MySQL 的默认隔离级别是 RR ?
mysql中的undo log、redo log 、binlog大致概要 undo log(回滚日志)、redo log(重做日志) 、binlog (归档日志)undo log,事务的原子性,用于事务回滚和MVCC(存储层,记录查询类)redo log,事务的持久性,用于服务器宕机故障恢复(存储层,记录查询类)binlog,用于数据备份和主从复制(服务层,记录更新修改类)日志区别undo log事务开始前的数据值redo log事务完成后的数据值。
相关文章
- [sql]MySQL数据备份小结
- 大数据实践-数据同步篇tungsten-relicator(mysql->mongo)
- mysql删除语句的区别
- 使用JDBC连接MySQL数据库--典型案例分析(五)----用户名密码验证功能
- SQL学习笔记四(补充-1-1)之MySQL单表查询补充部分:SQL逻辑查询语句执行顺序
- MySQL 用户管理与权限管理
- 在Mac OS X 10.8中配置Apache + PHP + MySQL
- Mysql在Linux的基本操作文档
- Mysql查询某个月的每一天的数据
- yum安装mysql和mysql源,配置mysql
- mysql 增加只读用户查询指定表
- 小麦苗数据库巡检脚本,支持Oracle、MySQL、SQL Server和PG等数据库
- MySQL大小写敏感总结
- 【文档】三、Mysql Binlog事件类文件和类型
- 【文档】四、Mysql Binlog事件含义详解
- 【文档】六、Mysql Binlog版本
- mysql 联合索引生效的条件、索引失效的条件