MySql讀寫分離實現


技術原理

為什么?

  進行中的項目,有大量的第三方數據頻繁的寫入,影響了讀的效率。通過讀寫分離,可以實現讀鎖和寫鎖的競爭。讀鎖和寫鎖可以具體網上找其他資源了解。

怎么做?

  1. 主從復制:主數據庫有寫操作,從數據庫自動同步。從數據庫通過I/O線程去請求主數據庫的binlog日志文件(二進制日志,包含SQL的增刪改查等,用來做備份恢復等),並寫到中繼日志中,SQL線程會讀取中繼日志,並解析成具體操作同步數據到從數據庫。

  2. 讀寫分離:數據庫層面:主數據庫復制寫,從數據庫復制讀。軟件(代碼)層面:通過讀寫分離中間間,比如MyCat、shardingsphere等實現。

 

具體實現

數據庫層面

  1. 需要打開主庫的二進制日志功能,通過配置文件修改。

(1)服務器ID命名

 

 

 (2)日志功能開啟

 

 

 修改完后,重啟sql服務,通過命令查看日志狀態

 

 

 (3)創建一個用戶,並賦予replication slave權限。

 

 

   2. 從庫設置

(1)服務命名

 

 

 (2)配置相關參數,重啟服務

 

 

 (3)連接主機,執行同步命令

 

 

 代碼程序層面

  這里使用shardingsphere實現讀寫分離。

(1)相關jar引用

 

 (2)讀寫分離配置

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM