Mysql讀寫分離原理


簡單的來說,讀寫分離就是只在mysql主服務器上寫,只在mysql從服務器上讀。基本原理是讓主數據庫處理事務性查詢,而從數據庫處理select查詢。數據庫復制被用來把事務性查詢導致的變更同步到集群中的數據庫。

 

目前較為常見的mysql讀寫分離有兩種:

1、 基於程序代碼的內部實現

在代碼中根據select、insert進行路由分類,這類方法也是目前生產環境中較為常用的,優點是性能較好,因為在程序代碼中實現,不需要增加額外的設備作為硬件開支;缺點是需要研發人員來實現,運維人員無從下手。

2、 基於中間代理層實現

代理一般位於客戶端和服務器之間,代理服務器接收到客戶端請求后通過判斷后轉發到后端數據庫。如下有兩個常用代理:

Mysql-proxy:其為mysql的開源項目,通過其自帶的lua腳本進行sql判斷,雖然是mysql官方產品,但是mysql官方並不建議其使用到生產環境中。

Amoeba:由陳思儒開發,該程序由Java語言進行開發。這個軟件致力於mysql的分布式數據庫前端代理層,它主要為應用層訪問mysql的時候充當sql路由功能。Amoeba能夠完成多數據源的高可用、負載均衡、數據切片等功能。

 

 

常用mysql連接工具:

phpMyAdmin

phpMyAdmin是我們常用的MySQL管理工具之一,它是用PHP開發的基於Web方式架構在網站主機上的MySQL管理工具,支持中文,管理數據庫也十分方便。主要缺點在對大數據庫的備份和恢復不是十分方便。

 

Navicat

Navicat是一款桌面版MySQL管理工具,它和微軟的SQLServer的管理器很像,簡單易用。Navicat的優勢在於使用圖形化的用戶界面,可以讓用戶管理更加輕松。


免責聲明!

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



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