實驗前說明:
其實,MySQL主主複制的本質,就是MySQL的雙向主從,沒有我們想的那麼複雜。配置也很簡單。明白了這點,我們下來開始實踐!
實驗前提:已經做好主從關系的master與slave兩台機器(當然,多執行個體也可以)
master 192.168.0.102 hostname:master
slave 192.168.0.103 hostname:slave
OK,如果上述環境已經完成,接下來開始做主主。
步驟一:修改master,與slave的my.cnf配置檔案(當然了,此步最好提前.)
關鍵核心代碼:
……
代碼解說:主從都開啟binlog和relay-log就不用說了吧?同步的核心...
為了防止主主結構的資料庫架構在寫入時發生沖突故障,是以需要對主主資料庫寫入資料進行特殊編号,按照上邊我發的代碼來看,master的起始是1,每次自增2,那麼下次記錄資料編号就是3,以此類推,主資料庫中的記錄編号依次為 1,3,5,7……
同理,slave起始位2,每次自增2,那麼從資料庫中的記錄依次是2,4,6,8……這樣避免了同僚寫入記錄時的沖突問題.
步驟二:重新開機master,slave資料庫
步驟三:在slave資料庫上邊鎖表,記錄postion資訊,記錄之後解鎖。
步驟四:在slave資料庫授權主資料庫同步使用者
步驟五:在master資料庫執行change操作
步驟六:開啟master資料庫slave同步,并且檢視同步狀态
步驟七:測試工作,測試原始的主從是否正常。
測試工作2,在slave端寫入,是否可以同步到master。
至此,MySQL主主模式搭建完成.