mysql主从进行扩展_Mysql主从知识扩展部分1
一、使用mysql-proxy 快速實(shí)現(xiàn)mysql 集群 讀寫分離
1、有兩種方法:
a)程序代碼內(nèi)部實(shí)現(xiàn),對select操作分發(fā)到從庫,其他到主庫,再生產(chǎn)環(huán)境中應(yīng)用比較廣泛,比較知名的有DISCUZX2,優(yōu)點(diǎn)性能好,成本低,缺點(diǎn)是需要開發(fā)人員維護(hù)。
b)代理實(shí)現(xiàn),用中間件mysql-proxy來實(shí)現(xiàn)讀寫分離。mysql-proxy是Mysql官方開源產(chǎn)品。缺點(diǎn)是有單點(diǎn)故障:為了避免mysql-proxy單點(diǎn)隱患有兩種方法,一種方法是mysql-proxy配合keepalived做雙機(jī),另一種方法是將mysql-proxy和應(yīng)用服務(wù)安裝到同一臺服務(wù)器上;為了避免mysql-master單點(diǎn)故障可以使用DRBD+heartbear做雙機(jī);避免mysql-slave單點(diǎn)故障增加多臺mysql-slave即可,因?yàn)閙ysql-proxy會(huì)自動(dòng)屏蔽后端發(fā)生故障的mysql-slave。
2、環(huán)境搭建;
1、需要最少3臺服務(wù)器,主從各一臺,mysql-proxy一臺,
2、在mysql-proxy服務(wù)器上安裝所需的包并進(jìn)行配置。
3、需注意要在主從機(jī)器/etc/my.cnf中開啟log=query.log功能。
4、具體操作可參考:https://my.oschina.net/barter/blog/93354
二、mycat實(shí)現(xiàn)MySQL讀寫分離
1、Mycat是數(shù)據(jù)庫中間件,對數(shù)據(jù)進(jìn)行交互和處理,可對數(shù)據(jù)進(jìn)行分片處理,所有分片數(shù)據(jù)庫構(gòu)成一個(gè)完整的數(shù)據(jù)存儲庫,借助mycat的分表能力,能有效提高數(shù)據(jù)處理能力和效率。
2、主要應(yīng)用場景:
a)單純的讀寫分離,此時(shí)配置最為簡單,支持讀寫分離,主從切換;
b)分表分庫,對表進(jìn)行分庫;
c)多租戶應(yīng)用,每個(gè)應(yīng)用一個(gè)庫,但應(yīng)用程序只連接Mycat,從而不改造程序本身,實(shí)現(xiàn)多租戶化;
d)表系統(tǒng),借助于Mycat的分表能力,處理大規(guī)模報(bào)表的統(tǒng)計(jì);
3、環(huán)境搭建與配置:
a)安裝mycat,需要安裝JDK
b)配置schema.xml,該表主要用來配置數(shù)據(jù)庫節(jié)點(diǎn),邏輯表等等東西的
c)需要設(shè)置防火墻,設(shè)置端口。
4、具體操作可參考:http://www.th7.cn/db/mysql/201708/250280.shtml ? ?https://blog.csdn.net/u011325787/article/details/51423424
三、atlas相關(guān)
1、atlas是Qihoo 360的相關(guān)團(tuán)隊(duì)在Mysql官方的 MySQL-Proxy 0.8.2版本的基礎(chǔ)上修改的一個(gè)中間件。優(yōu)化了鎖機(jī)制,提高了性能。
2、主要功能有:
a)實(shí)現(xiàn)主從的讀寫分離
b)從庫負(fù)載均衡
c)可以設(shè)置對IP過濾
d)自動(dòng)識別SQL語句黑白名單
e)自動(dòng)分表
3、安裝與配置:可參考一下鏈接,Atlas官網(wǎng)配置的注釋寫的蠻詳細(xì)的,都是中文。
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
總結(jié)
以上是生活随笔為你收集整理的mysql主从进行扩展_Mysql主从知识扩展部分1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: debian执行php网页,如何在Deb
- 下一篇: oracle数据库的浮点数,Oracle