Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9808
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 40
  • 用 户 组: 普通用户
  • 注册时间: 2017-10-03 15:14
个人简介

专注于MySQL、Aerospike等数据库

文章分类

全部博文(3)

文章存档

2017年(3)

我的朋友
最近访客

分类: Mysql/postgreSQL

2017-10-03 15:49:57

  1. change_master->global_init_info->Master_info::mi_init_info->Rpl_info_handler::init_info->Rpl_info_file::do_init_info   
  2.                                ->mi->rli->rli_init_info()->初始化./relay-bin.000001,4如果relay-log.info不存在的话,否则读取 
  1. //初始化master_info结构  
  2. int Master_info::mi_init_info()  
  3. {  
  4.     if (inited)  
  5.         DBUG_RETURN(0);//如果已经创建master_info文件,直接退出  
  6.     handler->init_info();//创建/打开master_info文件  
  7.     if (check_return == REPOSITORY_DOES_NOT_EXIST){//如果master_info文件是刚创建的,设置需读取的log位置是4  
  8.         init_master_log_pos();  
  9.         |--master_log_name[0]= 0;  
  10.         |--master_log_pos= BIN_LOG_HEADER_SIZE;  
  11.         |--ssl_verify_server_cert= 0;  
  12.         |-- heartbeat_period= min<float>(SLAVE_MAX_HEARTBEAT_PERIOD,(slave_net_timeout/2.0));  
  13.     }else{  
  14.         read_info(handler);//读取文件  
  15.     }  
  16.     inited= 1;  
  17.     flush_info(TRUE);  
  18.     |--handler->set_sync_period(sync_masterinfo_period);//默认10000  
  19.     |--flush_io_cache(&info_file);  
  20.     |--my_sync(info_fd, MYF(MY_WME));  
  21.     DBUG_RETURN(0);  
  1. int Rpl_info_file::do_init_info()  
  2. {  
  3.     if (ret_check == REPOSITORY_DOES_NOT_EXIST){  
  4.         info_fd = my_open(info_fname, O_CREAT|O_RDWR|O_BINARY, MYF(MY_WME));  
  5.         init_io_cache(&info_file, info_fd, IO_SIZE*2, READ_CACHE, 0L,0,MYF(MY_WME));  
  6.     }else if (ret_check == REPOSITORY_EXISTS){  
  7.         info_fd = my_open(info_fname, O_RDWR|O_BINARY, MYF(MY_WME));  
  8.         init_io_cache(&info_file, info_fd, IO_SIZE*2, READ_CACHE, 0L,0, MYF(MY_WME))  
  9.     }  
  10. }  
如果master.info不存在,就创建并初始化对应的IO_CACHE
如果存在,就打开,并初始化对应的IO_CACHE
阅读(1111) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:我的CSDN博客

给主人留下些什么吧!~~