現在我們來測試下,mysql的主從同步。
先在主庫MasterA 上給m_s_rep數據庫插入和刪除2條數據。如下:
mysql> insert into test(id,content) values(3,’data3’); mysql> insert into test(id,content) values(2,’data2’); mysql> select * from test;



通過上圖,我們可以看到從庫slave中的m_s_rep數據庫和主庫master中的m_s_rep數據庫,數據是一致。說明主從已經同步復制已經成功。
# mysqlbinlog mysql-bin.000003|tail

# cat master.info |more


通過測試,主庫的binlog文件的pos位置節點與master.info對比。我們可以發現master.info文件中確實記錄了mysql在同步復制時的binlog文件名以及pos位置節點。
我們來創建一張測試用表,來測試MasterA和MasterB互為主從同步測試。



至此,本方案已經全部部署測試完成,我想:“MasterA和MasterB無論那個節點宕機,仍能保證生產環境中主從的關系”。無論節點狀態如何,為確保數據的一致性,MasterA和MasterB當且僅當只能有一個節點可寫。其他節點可通過鎖表來禁止往里寫入數據,以避免出現腦裂。
如果在生產環境中,隨著業務的增加,不同業務部門的數據庫也在增加。那么怎么同步復制新的數據庫呢?步驟如下:
MasterA和MasterB主庫鎖表à修改所有節點中的my.cnf配置文件,增加需要同步復制的數據庫名à重啟mysql服務à導出MasterA中主庫數據庫à僅僅在從庫創建數據庫名à導入MasterA主庫的數據庫文件到從庫中à MasterA和MasterB主庫解鎖à自此,主庫發生變化的數據也會自動同步復制到從庫中。
參考博客:http://www.ilanni.com/?p=7992
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。