栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

深入理解MySQL——中继日志的结构

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

深入理解MySQL——中继日志的结构

中继日志是连接master和slave的信息———它是复制的核心。明白如何使用中继日志,以及如何通过中继日志来协调slave线程,这点很重要。因此,这里将深入研究中继日志的结构,以及slave线程是如何使用中继日志来处理复制的。I/O线程将来自master的事件存储到中继日志中。中继日志充当缓冲,这样master不必等待slave执行完成就可以发送下一个事件。
下图给出了中继日志的示意图,其结构与master的binlog类似,不过多了一些文件。

除了二进制日志中的内容文件和索引文件以外,中继日志还维护两个文件来跟踪复制的进度,即中继日志信息文件和master日志信息文件。这两个文件的名字由my.cnf配置文件中的两个参数来控制∶

relay-log-info-file=filename

这个选项设置中继日志信息文件名。也可以作为只读服务器变量relay_log_info_file。如果没有提供完整的文件名,则该文件位于服务器的数据目录下。默认文件名为relay-log.info。

master-info-file=filename

这个参数设置 master 日志信息文件名。默认文件名为master∶info。为了便于叙述,下面的讨论中我们采用信息文件的默认文件名。master.info文件包含master的读位置,以及连接master和启动复制必需的所有信息。当slave的I/O线程启动时,如果有master.info文件,则线程从这个文件读取信息。示例8-1给出了master.info文件的简单示例。我们在每行前面加了行号,而且每行末都有斜体标注(文件本身没有这些注释)。如果服务器编译不支持SSL,则没有第9-15 行(含有所有SSL参数)。示例8-1给出了带有SSL编译的参数设置。SSL字段稍后进行介绍。

master.info文件的内容(MySQL5.6.12)

1 23 文件中的行数
2 master-bin.000001  当前正在读取的binlog文件(Master_Log_File)最后读取的 binlog位置(Read Master Log_Pos)
3 151 
4 localhost master 连接的主机(Master Host)
5 root 复制用户(Master_User)
6 复制密码
7 13000 master所使用的端口号(Master Host)slave尝试重新连接的次数(Connect_Retry)
8 60 如果启用了SSL,值为1,否则为θ
9 0 
10 SSL认证机构(CA)SSL CA路径
11 SSL证书
12 SSL密码
13 SSL密钥
14 SSL验证服务器证书
15 0 
16 60.000 心跳
17 绑定地址
18 0 忽略服务器ID
19 Master UUID 8c6d027e-cf38-11e2-84c7-0021cc6850ca
20 10 重试次数SSL CRL 
21 SSL CRL路径
22 自动位置
23 0

如果是老版本的服务器,格式可能略有不同。MySQL4.1之前的版本没有第一行。开发人员在4.1.1版本中添加了行号,这样可以为文件扩展新字段,并通过检查行号来检测支持哪些字段。5.1.16版本引入了第15行,即SSL Verify Server Certificate,这后面的行在5.6系列版本引入。relay-loginfo文件跟踪复制的进度,并由SQL线程负责更新。示例8-2给出了relay-log. info文件的一段样本,这些行对应下一个即将执行的事件的开始。
示例8-2∶ relay-log.info文件的内容

./slave-relay-bin.000003   中继日志文件(Relay_Log_File)
380                        中继日志位置(Relay_Log_Pos)
master1-bin.000001 master  日志文件(Relay Master Log File)
234 master                 日志位置(Exec_Master_Log_Pos)

如果某些文件不可用,在slave启动的时候,能够根据my.cnf文件中的信息及CHANGE MASTER TO命令的参数,重建这些文件。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1031346.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号