您好,登錄后才能下訂單哦!
本篇文章給大家主要講的是關于MySQL中如何設置slave實現讀取binlog的位置的內容,感興趣的話就一起來看看這篇文章吧,相信看完MySQL中如何設置slave實現讀取binlog的位置對大家多少有點參考價值吧。
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_sync_period(sync_masterinfo_period);//默認10000 |--flush_io_cache(&info_file); |--my_sync(info_fd, MYF(MY_WME)); DBUG_RETURN(0);
int Rpl_info_file::do_init_info() { if (ret_check == REPOSITORY_DOES_NOT_EXIST){ info_fd = my_open(info_fname, O_CREAT|O_RDWR|O_BINARY, MYF(MY_WME)); init_io_cache(&info_file, info_fd, IO_SIZE*2, READ_CACHE, 0L,0,MYF(MY_WME)); }else if (ret_check == REPOSITORY_EXISTS){ info_fd = my_open(info_fname, O_RDWR|O_BINARY, MYF(MY_WME)); init_io_cache(&info_file, info_fd, IO_SIZE*2, READ_CACHE, 0L,0, MYF(MY_WME)) } }
如果master.info不存在,就創建并初始化對應的IO_CACHE
如果存在,就打開,并初始化對應的IO_CACHE
以上關于MySQL中如何設置slave實現讀取binlog的位置詳細內容,對大家有幫助嗎?如果想要了解更多相關,可以繼續關注我們的行業資訊板塊。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。