Mysql讀寫分離方案-MySQL Proxy環境部署記錄

來源:互聯網
上載者:User

標籤:mysql安裝   pre   image   for   引擎   還需要   www   .com   query   

 

Mysql的讀寫分離可以使用MySQL Proxy和Amoeba實現,其實也可以使用MySQL-MMM實現讀寫分離的自動切換。MySQL Proxy有一項強大功能是實現"讀寫分離",基本原理是讓主要資料庫處理寫方面事務,讓從庫處理SELECT查詢;Amoeba for MySQL是一款優秀的中介軟體軟體,同樣可以實現讀寫分離,負載平衡等功能。下面重點說下Mysql Proxy:

MySQL Proxy處於用戶端應用程式和MySQL伺服器之間,通過截斷、改變並轉寄用戶端和後端資料庫之間的通訊來實現其功能。Proxy 伺服器是和TCP/IP協議打交道,而要理解MySQL Proxy的工作機制,同樣要清楚MySQL用戶端和伺服器之間的通訊協定,MySQL Protocol 包括認證和查詢兩個基本過程:.................................認證過程包括:1)用戶端向伺服器發起串連請求2)伺服器向用戶端發送握手資訊3)用戶端向伺服器發送認證請求4)伺服器向用戶端發送認證結果................................如果認證通過,則進入查詢過程:1)用戶端向伺服器發起查詢請求2)伺服器向用戶端返回查詢結果當然,這隻是一個粗略的描述,每個過程中發送的包都是有固定格式的。MySQL Proxy要做的,就是介入協議的各個過程。首先MySQL Proxy以伺服器的身份接受用戶端請求,根據配置對這些請求進行分析處理,然後以用戶端的身份轉寄給相應的後端資料庫伺服器,再接受伺服器的資訊,返回給用戶端。所以MySQL Proxy需要同時實現用戶端和伺服器的協議。由於要對用戶端發送過來的SQL語句進行分析,還需要包含一個SQL解析器。可以說MySQL Proxy相當於一個輕量級的MySQL了,實際上,MySQL Proxy的admin server是可以接受SQL來查詢狀態資訊的。MySQL Proxy通過lua 指令碼來控制串連轉寄的機制。主要的函數都是配合MySQL Protocol各個過程的,這一點從函數名上就能看出來:connect_server()read_handshake()read_auth()read_auth_result()read_query()read_query_result()至於為什麼採用lua 指令碼語言,大概是因為MySQL Proxy中採用了wormhole 儲存引擎 的關係吧,這個蟲洞儲存引擎很有意思,資料的儲存格式就是一段lua指令碼。

Mysql Proxy的原理圖

順便貼下Mysql Proxy的工作拓撲圖

部署MySQL Proxy實現讀寫分離並提高並發負載的操作記錄

0)機器環境

ip地址              角色         主機名稱182.48.115.237     master      master-node182.48.115.236     slave1      slave-node1182.48.115.238     slave2      slave-node2182.48.115.233     proxy       proxy-node四台機器都關閉防火牆和selinux綁定hosts設定(四台機器都要操作)[[email protected] ~]# vim /etc/hosts......182.48.115.237   master-node182.48.115.236   slave-node1182.48.115.238   slave-node2182.48.115.233   proxy-node

1)Mysql主從複製部署(本案例是一主兩從架構)

mysql安裝參考:http://www.cnblogs.com/kevingrace/p/6109679.htmlmysql主從部署參考:http://www.cnblogs.com/kevingrace/p/6256603.html

2)在proxy機器上安裝mysql-proxy

 

Mysql讀寫分離方案-MySQL Proxy環境部署記錄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.