Mysql主從知識擴展部分1

1、使用mysql-proxy 快速實現mysql 集羣 讀寫分離html

一、有兩種方法:mysql

a)程序代碼內部實現,對select操做分發到從庫,其餘到主庫,再生產環境中應用比較普遍,比較知名的有DISCUZX2,優勢性能好,成本低,缺點是須要開發人員維護。git

b)代理實現,用中間件mysql-proxy來實現讀寫分離。mysql-proxy是Mysql官方開源產品。缺點是有單點故障:爲了不mysql-proxy單點隱患有兩種方法,一種方法是mysql-proxy配合keepalived作雙機,另外一種方法是將mysql-proxy和應用服務安裝到同一臺服務器上;爲了不mysql-master單點故障可使用DRBD+heartbear作雙機;避免mysql-slave單點故障增長多臺mysql-slave便可,由於mysql-proxy會自動屏蔽後端發生故障的mysql-slave。github

 二、環境搭建;sql

一、須要最少3臺服務器,主從各一臺,mysql-proxy一臺,數據庫

二、在mysql-proxy服務器上安裝所需的包並進行配置。後端

三、需注意要在主從機器/etc/my.cnf中開啓log=query.log功能。服務器

四、具體操做可參考:https://my.oschina.net/barter/blog/93354負載均衡

2、mycat實現MySQL讀寫分離性能

一、Mycat是數據庫中間件,對數據進行交互和處理,可對數據進行分片處理,全部分片數據庫構成一個完整的數據存儲庫,藉助mycat的分表能力,能有效提升數據處理能力和效率。

二、主要應用場景:

a)單純的讀寫分離,此時配置最爲簡單,支持讀寫分離,主從切換;

b)分表分庫,對錶進行分庫;

c)多租戶應用,每一個應用一個庫,但應用程序只鏈接Mycat,從而不改造程序自己,實現多租戶化;

d)表系統,藉助於Mycat的分表能力,處理大規模報表的統計;

三、環境搭建與配置:

a)安裝mycat,須要安裝JDK

b)配置schema.xml,該表主要用來配置數據庫節點,邏輯表等等東西的

c)須要設置防火牆,設置端口。

四、具體操做可參考:http://www.th7.cn/db/mysql/201708/250280.shtml    https://blog.csdn.net/u011325787/article/details/51423424

 3、atlas相關

一、atlas是Qihoo 360的相關團隊在Mysql官方的 MySQL-Proxy 0.8.2版本的基礎上修改的一箇中間件。優化了鎖機制,提升了性能。

二、主要功能有:

a)實現主從的讀寫分離
b)從庫負載均衡
c)能夠設置對IP過濾
d)自動識別SQL語句黑白名單
e)自動分表

三、安裝與配置:可參考一下連接,Atlas官網配置的註釋寫的蠻詳細的,都是中文。

Atlas官方連接: https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md

Atlas下載連接:https://github.com/Qihoo360/Atlas/releases

https://www.cnblogs.com/alex-note/p/6835965.html

https://github.com/Qihoo360/Atlas/wiki/Atlas%E7%9A%84%E5%AE%89%E8%A3%85

https://www.oschina.net/p/atlas

相關文章
相關標籤/搜索