如何使用 MySQL Proxy 實現讀寫分離

2021-06-16 04:06:05 字數 597 閱讀 7287

mysql-proxy處在mysql資料庫客戶和服務端之間的程式,它支援嵌入性指令碼語言lua。這個**可以用來分析、監控和變換(transform)通訊資料,它支援非常廣泛的使用場景:

·負載平衡和故障轉移處理

·查詢分析和日誌

·sql巨集(sql macros)

·查詢重寫(query rewriting)

·執行shell命令

mysql proxy最強大的一項功能是實現「讀寫分離(read/write splitting)」。基本的原理是讓主資料庫處理事務性查詢,而從資料庫處理select查詢。資料庫複製被用來把事務性查詢導致的變更同步到集群中的從資料庫。

jan kneschke在《mysql proxy learns r/w splitting》中詳細的介紹了這種技巧以及連線池問題:

為了實現讀寫分離我們需要連線池。我們僅在已開啟了到乙個後端的一條經過認證的連線的情況下,才切換到該後端。mysql協議首先進行握手。當進入到查詢/返回結果的階段再認證新連線就太晚了。我們必須保證擁有足夠的開啟的連線才能保持運作正常。

實現讀寫分離的lua指令碼:

-- 讀寫分離

以下為引用的內容 :

安裝使用MySQL Proxy

安裝 mysql proxy v 檢視mysql proxy幫助選項 mysql proxy help all mysql proxy預設埠為4040,通過訪問4040埠就可以訪問3306埠。使用命令列開啟mysql proxy,步驟如下 touch etc mysql proxy.cnf vim ...

MySQL Proxy安裝使用

解壓縮的目錄為 mysql proxy installed dir 這裡為 usr local mysql proxy bin include lib share b 1.為mysql proxy建立配置檔案。b 如在 mysql proxy installed dir建立檔案mysql proxy...

mysql Proxy 的使用測試

測試環境 debian linux 192.168.3.105 安裝mysql proxy 192.168.3.100 192.168.3.104 1 安裝lua apt install lua5.1 然後在 usr local mysql proxy目錄下,新增乙個配置檔案mysql proxy....