master_info类
下面介绍类master_info定义。该类主要记录了连接到主库所有需要的信息及接收binlog的进度信息。在MySQL中只有一个实例即全局变量active_mi。
5.7中支持多源复制,会有多个实例,这里不作过多介绍。
该变量在mysqld启动阶段,由init_slave函数进行初始化。
rpl_mi.h:
class Master_info : public Rpl_info
{
public:
char host[HOSTNAME_LENGTH + 1];//master主机名或IP地址,通过CHANGE MASTER TO语句指定
uint port;//master的端口,通过CHANGE MASTER TO语句指定
char bind_addr[HOSTNAME_LENGTH+1];//当slave所在的机器有多个网络接口时,选择指定的接口与主库通信
MYSQL* mysql;//和master的连接。从库调用start slave命令开启复制后,会建立一个和master的连接,mysql就是该连接,之后所有与主库的通信都通过该连接进行
Relay_log_info *rli;
uint connect_retry;//重连的最多次数
long clock_diff_with_master;//和master的时间差异。在slave IO线程启动后会获取主库的系统时间和时区等信息。
//保存了slave和mast
MySQL复制--master_info类成员变量说明
最新推荐文章于 2024-07-09 20:02:32 发布
master_info类在MySQL中用于记录与主库连接及复制进度的关键信息,包括主机名、端口、连接对象、重连次数、时间差异、心跳间隔等。在启动复制时,由init_slave函数初始化。当启用多源复制时,会有多个实例。slave IO线程通过这个类与主库交互,获取binlog位置、UUID和GTID模式。
摘要由CSDN通过智能技术生成