中继日志(relay log)只在主从服务器架构的从服务器上存在。从服务器(slave)为了与主服务器(Master)保持一致,图文要从主服务器读取二进制日志的结合继日内容,并且把读取到的搞懂信息写入本地的日志文件中,这个从服务器本地的日志日志文件就叫中继日志。然后,中志从服务器读取中继日志,图文并根据中继日志的结合继日内容对从服务器的数据进行更新,完成主从服务器的搞懂数据同步。
搭建好主从服务器之后,日志中继日志默认会保存在从服务器的中志数据目录下。
文件名的格式是:从服务器名 - relay-bin.序号。中继日志还有一个索引文件:从服务器名 - relay-bin.index,用来定位当前正在使用的中继日志。
(主从复制原理图)
从服务器I/O线程将主服务器的二进制日志(binlog)读取过来记录到从服务器本地文件,然后从服务器SQL线程会读取中继日志的内容并应用到从服务器,从而使从服务器和主服务器的数据保持一致。
中继日志用于主从服务器架构中,从服务器用来存放主服务器二进制日志内容的一个中间文件。从服务器通过读取中继日志的内容,来同步主服务器上的操作。
中继日志是连接mastert(主服务器)和slave(从服务器)的信息,它是复制的核心,I/O线程将来自master的binlog存储到中继日志中,中继日志充当缓冲,这样master不必等待slave执行完成就可以发送下一个binlog。
中继日志文件的格式与二进制日志文件相同,并且可以 使用 mysqlbinlog 进行读取
SET TIMESTAMP= 1615352328 /*!*/;
BEGIN
/*!*/;
# at 900
#211413 11:33:46 server id 1 end_log_pos 832 CRC32 0xcc16d651 Table_map:
`kaito`.`test` mapped to number 91
# at 950
#211413 11:33:46 server id 1 end_log_pos 872 CRC32 0x07e4047c Delete_rows: table id
91 flags: STMT_END_F -- server id 1 是主服务器,意思是主服务器删了一行数据
BINLOG '
CD95YBMBAAAAMgAAAEADAAAAAFsAAAAAAAEABGRlbW8ABHRlc3QAAQMAAQEBAFHWFsw=
CD95YCABAAAAKAAAAGgDAAAAAFsAAAAAAAEAAgAB/wABAAAAfATkBw==
'/*!*/;
# at 1000
这一段的意思是,主服务器(“server id 1”)对表 kaito.test 进行了 2 步操作:
定位到表 kaito.test 编号是 91 的记录,日志位置是 832
删除编号是 91 的记录,日志位置是 872
通过语句:show variables like '%relay%' 查看先骨干的relay的所有相关参数如下:
mysql> show variables like '%relay%';
+---------------------------+---------------------------------------+
| Variable_name | Value |
+---------------------------+---------------------------------------+
| max_relay_log_size | 0 |
| relay_log | kaito-relay-bin |
| relay_log_basename | /var/lib/mysql/kaito-relay-bin |
| relay_log_index | /var/lib/mysql/kaito-relay-bin.index |
| relay_log_info_file | relay-log.info |
| relay_log_info_repository | TABLE |
| relay_log_purge | ON |
| relay_log_recovery | OFF |
| relay_log_space_limit | 0 |
| sync_relay_log | 10000 |
| sync_relay_log_info | 10000 |
+---------------------------+---------------------------------------+
11 rows in set (0.00 sec)
以上只是简单的介绍了每个参数的作用,这些参数具体的设置还是需要根据每个用户的实际系统情况进行设置的;
《MySQL是怎样运行的--从根儿上理解MySQL》—小孩子4919(https://juejin.cn/book/6844733769996304392)
责任编辑:武晓燕 来源: GreatSQL社区 MySQL日志中继(责任编辑:娱乐)
比速科技(01372.HK)发布公告:拟发行4000万股认购股份
前10月全国规模以上工业发电同比增长10.0% 水电同比下降11.9%
小鸡宝宝考考你将红色和蓝色颜料等比例混合会变成?蚂蚁庄园4.26日答案
国内售价498.8万元 法拉利重新开放Purosangue SUV预订 -
康健国际医疗(03886.HK)公布消息:预计年度综合亏损约2.55亿港元