change_master->global_init_info->Master_info::mi_init_info->Rpl_info_handler::init_info->Rpl_info_file::do_init_info
->mi->rli->rli_init_info()->初始化./relay-bin.000001,4如果relay-log.info不存在的话,否则读取
//初始化master_info结构
int Master_info::mi_init_info()
{
if (inited)
DBUG_RETURN(0);//如果已经创建master_info文件,直接退出
handler->init_info();//创建/打开master_info文件
if (check_return == REPOSITORY_DOES_NOT_EXIST){//如果master_info文件是刚创建的,设置需读取的log位置是4
init_master_log_pos();
|--master_log_name[0]= 0;
|--master_log_pos= BIN_LOG_HEADER_SIZE;
|--ssl_verify_server_cert= 0;
|-- heartbeat_period= min<float>(SLAVE_MAX_HEARTBEAT_PERIOD,(slave_net_timeout/2.0));
}else{
read_info(handler);//读取文件
}
inited= 1;
flush_info(TRUE);
|--handler->set