一主兩從轉(zhuǎn)級(jí)聯(lián)復(fù)制

一主兩從 轉(zhuǎn) 級(jí)聯(lián)復(fù)制 示意圖如下

M  ---> S1
 \                      ====>      M ---> S1 ---> S2
  \ --> S2

如果有開(kāi)啟GTID操作起來(lái)方便多,GTID是唯一的,直接操作即可。

如果使用file_name、position可以使用如下辦法(現(xiàn)在還沒(méi)開(kāi)啟gtid真的是無(wú)力吐槽)

# 步驟1、 
# 現(xiàn)將S2的復(fù)制斷開(kāi)
S2: stop slave;
# 步驟2、 
S1: stop slave;                     # S1復(fù)制斷開(kāi) 
    show slave status \G;   # 得到當(dāng)前S1同步到的M的文件和位置,
                                                    # 注:S1并沒(méi)有同步到此處,得到位置也是方便使用start slave UNTIL來(lái)對(duì)齊復(fù)制
                                                    #     Master_Log_File: mysql-bin.001773
                                                    # Read_Master_Log_Pos: 64750877
                                                    #    Slave_IO_Running: Yes
                                                    #   Slave_SQL_Running: Yes
                                                    # Exec_Master_Log_Pos: 64750877
        show master status;     # 若復(fù)制對(duì)齊后,則需要找到當(dāng)前S1的filename、pos
        +------------------+----------+--------------+------------------+
        | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
        +------------------+----------+--------------+------------------+
        | mysql-bin.001773 | 62794811 |              |                  |
        +------------------+----------+--------------+------------------+
        select sleep(1);      
        start slave;                    
        select sleep(1);
        show slave status\G     # 檢查復(fù)制狀態(tài)
# 步驟3、
# S2開(kāi)放復(fù)制,追趕到S1相同的位置
S2: start slave UNTIL MASTER_LOG_FILE ="mysql-bin.001773",  MASTER_LOG_POS=64750877;、
    show slave status\G             #     Master_Log_File: mysql-bin.001773
                                    # Read_Master_Log_Pos: 78398909
                                    #    Slave_IO_Running: Yes
                                    #   Slave_SQL_Running: No    追到既定位置就沒(méi)用繼續(xù)使用binlog文件了
                                    # Exec_Master_Log_Pos: 64750877   已經(jīng)追趕到S1的位置了
# 步驟4、
S2: stop slave;
    change master to master_host='S1',master_log_file='mysql-bin.001773',master_log_pos=62794811; 執(zhí)行S1的地址和filename、position
    start slave;
 

此刻,已經(jīng)完成了轉(zhuǎn)化到級(jí)聯(lián)復(fù)制的步驟。有點(diǎn)蛋疼。GTID才是王道。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容