暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
MySQL源码系列6月9号分享梗概--
573
17页
6次
2020-07-30
免费下载
《MySQL 源码系列》分享梗概
2020 6 9 日星期二
分享嘉宾:郝国庆 热璞数据库专家
领导说既然开分享啦,就分享一些比较干的东西,我想来想去哈,binlog 比较合适。为啥呢:
1. binlog mysql 实现复制的基
2.复制是高可用啊、灾备啊的解决方案的基础(原生的高可用,灾备解决方案)
所以,binlog 就变成了高可用和灾备解决方案的基础。
3. 很容易获取,同时也好上手。如果上来就整 trx,lock,redo undo log。估计把大家整蒙
了,大家也没有兴趣继续研究源码了。
今天我们就来介绍下 binlog 相关的知
1.binlog mysql 进制日志,顾名义,binlog mysql 在进行句或者控制操作时产生
的日志文件使用 MySQL 的同学都知道 binlog 可以用来做数据恢复,建复制。我们可以
binlog 做指定时间点的回复。
但是如果有同学不小心操作错了一条数据但是这个数据库实例又比较大,如果为了恢复
一条数据而使用整个实例的备份文件,时很久还不方便,这个时候呢其实我们是可以使
binlog 来生成闪回语句进行单条数据的回退操作
2..binlog 文件由两部分组成,包 relaylog,此时我们看下 mysql 的源码:
mysqlbinlog.cc:
function dump_local_log_entries, check_header()
if (memcmp(header, BINLOG_MAGIC, sizeof(header)))
{
error("File is not a binary log file.");
DBUG_RETURN(ERROR_STOP);
}
binlog header events
/* 4 bytes which all binlogs should begin with */
#define BINLOG_MAGIC "\xfe\x62\x69\x6e"
所有的 binlog event 都会以这 4 个字节开头 4 个字节用于校验该文件是否是 binlog
件。这个事件结束之后,才会是一个个的 binlog event。
我们打开 binlog 试一下,可以开到开头。我们改掉一 bin 中的一个字符,在用 mysqlbinlog
打开一下这个文件试一下,哈哈,报错了,File is not a binlog file
3. binlog 是在什么时候产生的呢
a.首先我们必须在配置文件里打开 binlog 选项,mysql 才会产生 binlog
b. binlog 有三种 format:row、statements、 mix
Row: 所有据变,比一条 delete 句,binlog 记录 row event
来可能是 where @1=? and @2 =
statements delete from t1 where id < 10;
mix:兼具 row statements 的优点,也就是说也有可能有他们两个的缺点哦。比如
对表的操作可能会退化成语句格式,说是 DDL statementDML row但是实际测下来,
部分 DML 还是走了 statement
后续我们所介绍的 trx 的构成不明说的话,都是以 row 格式哈。
c. 说道 binlog 产生时间,就不得不提一个参数,sync_binlog = 1,如果说道 sync_binlog
等于就得介绍 innodb_flush_log_at_trx_commit.
sync_binlog 是针对,binlog 落盘的 sync_binlog = 1 时,一个事务 mysql 或对 binlog
做一次落盘innodb_flush_log_at_trx_commit 是针对 innodb 存储引擎的,它对应的是 redo
log undo log 的落盘。
我们知道 binlog 是在 mysql server 层,redo log 是存储引擎,因此也需要保证 binlog
redo log 数据一致性。mysql 使用了内部 xa 保证数据的一致。这个往细里讲的话,
也差不多要一节课。
源文件在 binlog.cc ordered_commit 函数天不是咱们的重点我就简单讲一下流
of 17
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜