中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

什么是mysql-mmm高可用群集及怎么樣搭建-創(chuàng)新互聯(lián)

本文主要給大家介紹什么是mysql-mmm 高可用群集及怎么樣搭建,希望可以給大家補充和更新些知識,如有其它問題需要了解的可以持續(xù)在創(chuàng)新互聯(lián)行業(yè)資訊里面關(guān)注我的更新文章的。

目前創(chuàng)新互聯(lián)公司已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、余干網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

搭建 mysql-mmm 高可用群集


MMM 簡介 :

MMM(Master-Master replication manager for MySQL)是一套支持雙主故障切換和雙主日常管理的腳本程序。MMM使用Perl語言開發(fā),主要用來監(jiān)控和管理MySQL Master-Master(雙主)復(fù)制,雖然叫做雙主復(fù)制,但是業(yè)務(wù)上同一時刻只允許對一個主進(jìn)行寫入,另一臺備選主上提供部分讀服務(wù),以加速在主主切換時刻備選主的預(yù)熱,可以說MMM這套腳本程序一方面實現(xiàn)了故障切換的功能,另一方面其內(nèi)部附加的工具腳本也可以實現(xiàn)多個slave的read負(fù)載均衡。
MMM提供了自動和手動兩種方式移除一組云服務(wù)器中復(fù)制延遲較高的服務(wù)器的虛擬ip,同時它還可以備份數(shù)據(jù),實現(xiàn)兩節(jié)點之間的數(shù)據(jù)同步等。由于MMM無法完全的保證數(shù)據(jù)一致性,所以MMM適用于對數(shù)據(jù)的一致性要求不是很高,但是又想大程度的保證業(yè)務(wù)可用性的場景。對于那些對數(shù)據(jù)的一致性要求很高的業(yè)務(wù),非常不建議采用MMM這種高可用架構(gòu)。

優(yōu)點:

1 穩(wěn)定和成熟的開源產(chǎn)品,經(jīng)過了時間的考驗 核心技術(shù)是mysql自己的技術(shù),只是使用腳本程序來控制,所以在原理上比較容易理解,而且管理能夠更智能化。
2 安裝簡單,配置簡單,使用簡單
3 功能強大 (HA,failover,tools套件,cluster模式可以一個monitor管理多個mmm組)

缺點:

1 由于架構(gòu)里只有一個寫入點,所以擴展性是有限的,但是對一般中型企業(yè)夠用了。
解決方案:對于大應(yīng)用可以采取垂直拆分到多個mmm架構(gòu)的方式,使用mmm cluster來管理。
2 對于讀寫分離和讀負(fù)載均衡還是要程序來開發(fā)或者使用其他工具完成。

MMM 高可用架構(gòu) :

什么是mysql-mmm 高可用群集及怎么樣搭建

  • mmm_mond:監(jiān)控進(jìn)程,負(fù)責(zé)所有的監(jiān)控工作,決定和處理所有節(jié)點角色活動。此腳本需要在監(jiān)管機上運行。
  • mmm_agentd:運行在每個mysql服務(wù)器上的代理進(jìn)程,完成監(jiān)控的探針工作和執(zhí)行簡單的遠(yuǎn)端服務(wù)設(shè)置。此腳本需要在被監(jiān)管機上運行。
  • mmm_control:一個簡單的腳本,提供管理mmm_mond進(jìn)程的命令。

    本案實例 :

主機名系統(tǒng)主要軟件IP虛擬IP
mysql-master1CentOS 7.3 x86_64mmm192.168.217.129192.168.217.100
mysql-master2CentOS 7.3 x86_64mmm192.168.217.130192.168.217.100
mysql-slave1CentOS 7.3 x86_64mmm192.168.217.131192.168.217.200
mysql-slave2CentOS 7.3 x86_64mmm192.168.217.132192.168.217.210
monitorCentOS 7.3 x86_64mmm192.168.217.133

安裝 MMM 在所有服務(wù)器上安裝 :

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  #配置ALI云源,然后安裝epel-release源。

yum clean all && yum makecache    #刪除緩存     下載到本地電腦緩存

yum -y install epel-release    #安裝epel 源  用于安裝 mmm

yum -y install mysql-mmm*   #安裝 mmm 服務(wù)  在所有服務(wù)器上安裝

配置 MySQL 服務(wù)器 :

  • 配置所有的 mysql ,server-id 不同之外其他都相同 :

vim /etc/my.cnf
[mysqld]
user = mysql          #管理用戶 
basedir = /usr/local/mysql    #工作目錄
datadir = /usr/local/mysql/data     #數(shù)據(jù)庫文件
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid  #pid 進(jìn)程文件
socket = /usr/local/mysql/mysql.sock   #鏈接數(shù)據(jù)庫
server-id = 1  

binlog-ignore-db=mysql,information_schema  #不需要同步的數(shù)據(jù)庫名稱
log_slave_updates=true  #從服務(wù)器更新二進(jìn)制日志
sync_binlog=1   #同步二進(jìn)制日志
auto_increment_increment=2  #字段一次遞增值
auto_increment_offset=1   #自增字段的起始值
log-error=/usr/local/mysql/data/mysql_error.log  #錯誤日志
general_log=ON               #開啟通用日志
general_log_file=/usr/local/mysql/data/mysql_general.log
log_bin=mysql-bin  #二進(jìn)制日志
slow_query_log=ON  #開啟慢查詢?nèi)罩?
slow_query_log_file=mysql_slow_query.log 
long_query_time=1
  • 把配置文件復(fù)制到其它3臺數(shù)據(jù)庫服務(wù)器上并啟動服務(wù)器

    scp /etc/my.cnf root@192.168.217.130:/etc/   #對方有權(quán)限的用戶和IP地址  輸入yes 、密碼進(jìn)行復(fù)制 
    systemctl restart mysqld.service   #修改所有數(shù)據(jù)庫的 server-id 重啟服務(wù)
  • 配置主主復(fù)制 :

mysql -u root  -p   #進(jìn)入數(shù)據(jù)庫
在m1上為m2授予從的權(quán)限,在m2上也要為m1授予從的權(quán)限
mysql>grant replication slave on *.* to 'replication'@'192.168.217.%' identified by '123456'; 

mysql>show master status;    #記錄日志文件名稱和 位置值,在兩臺主上查看。

mysql>change master to master_host='192.168.217.129',
master_user='replication',master_password='123456',
master_log_file='mysql-bin.000001',master_log_pos=1104;
注意 指向的IP地址、日志名稱、偏移量 ,不要搞錯

mysql>start slave;    #開啟同步

mysql>show slave status\G;   #查看鏈接狀態(tài)

   Slave_IO_Running: Yes
   Slave_SQL_Running: Yes
以上兩臺主都執(zhí)行,從不需要 ??梢栽谥鞣?wù)器上創(chuàng)建數(shù)據(jù)庫 、在另一臺主服務(wù)器查看、刪除,做測試。
  • 配置兩臺從服務(wù)器 :

指向隨便一臺主服務(wù)器即可 
mysql>change master to master_host='192.168.217.129',
master_user='replication',master_password='123456',
master_log_file='mysql-bin.000001',master_log_pos=1104;
注意 指向的IP地址、日志名稱、偏移量 ,不要搞錯
start slave;

show slave status\G;

   Slave_IO_Running: Yes
   Slave_SQL_Running: Yes

測試主從、主主、同步 情況

所有主機上都要配置 MMM

  • 配置 mysql-master1  :

    cd /etc/mysql-mmm/
    vim mmm_common.conf 
    ……
    <host default>
    cluster_interface    ens32    #網(wǎng)卡名稱
    ……
    
    replication_user     replication    #主從授權(quán)用戶
    replication_password   123456
    agent_user        mmm_agent    #代理用戶
    agent_password      123456
    ....
    <host db1>
    ip    192.168.217.129   #主服務(wù)器
    mode   master     
    peer   db2
    </host>
    ....
    <host db2>
    ip    192.168.217.130  #主服務(wù)器
    mode   master
    peer   db1
    </host>
    ....
    <host db3>
    ip    192.168.217.131  #從服務(wù)器
    mode   slave
    </host>
    ....
    <host db4>
    ip    192.168.217.132  #從服務(wù)器
    mode   slave
    </host>
    ....
    <role writer>
    hosts  db1, db2
    ips   192.168.217.100     #主服務(wù)器虛擬IP地址
    mode   exclusive
    </role>
    ....
    <role reader>
    hosts  db3, db4
    ips   192.168.217.200, 192.168.217.210  #從服務(wù)器虛擬IP地址
    mode   balanced
    </role>
    scp mmm_common.conf root@192.168.217.130:/etc/mysql-mmm/
    scp mmm_common.conf root@192.168.217.131:/etc/mysql-mmm/
    scp mmm_common.conf root@192.168.217.132:/etc/mysql-mmm/
    scp mmm_common.conf root@192.168.217.133:/etc/mysql-mmm/

配置 monitor 服務(wù)器上 :

cd /etc/mysql-mmm/
vim mmm_mon.conf
……
 ping_ips       192.168.217.129,192.168.217.130,192.168217.131,192.168.217.132   #數(shù)據(jù)庫服務(wù)器地址
 auto_set_online   10    #設(shè)置自動在線時間
……

<host default>
   monitor_user     mmm_monitor   #監(jiān)控用戶
   monitor_password   123456
</host>

在所有數(shù)據(jù)庫授權(quán)和修改 :

在所有數(shù)據(jù)庫上為mmm_agent授權(quán)
mysql>grant super, replication client, process on *.* to 'mmm_agent'@'192.168.217.%' identified by '123456';

在所有數(shù)據(jù)庫上為mmm_moniter授權(quán)
mysql>grant replication client on *.* to 'mmm_monitor'@'192.168.217.%' identified by '123456';

flush privileges;    #刷新

修改所有數(shù)據(jù)庫的mmm_agent.conf文件

vim /etc/mysql-mmm/mmm_agent.conf

this db1   #/根據(jù)規(guī)mmm_common.conf 配置中<host db1> 對應(yīng)的IP地址 修改

在所有數(shù)據(jù)庫服務(wù)器上啟動代理服務(wù)
systemctl start mysql-mmm-agent.service     #開啟代理服務(wù)
systemctl enable mysql-mmm-agent.service   #開機自啟動

配置 monitor 服務(wù)器上 :

systemctl start mysql-mmm-monitor.service    #啟動監(jiān)控服務(wù)

mmm_control show       #查看各節(jié)點的情況
  db1(192.168.217.129) master/ONLINE. Roles: writer(192.168.217.100)
  db2(192.168.217.130) master/ONLINE. Roles: 
  db3(192.168.217.131) slave/ONLINE. Roles: reader(192.168.217.200)
  db4(192.168.217.132) slave/ONLINE. Roles: reader(192.168.217.210)
mmm_control checks all    #各種OK  說明運轉(zhuǎn)正常
mmm_control move_role writer db2  #手動指定活躍服務(wù)器  注意:不會搶占
mmm_control show       #查看各節(jié)點的情況
  db1(192.168.217.129) master/ONLINE. Roles:
  db2(192.168.217.130) master/ONLINE. Roles: writer(192.168.217.100)
  db3(192.168.217.131) slave/ONLINE. Roles: reader(192.168.217.200)
  db4(192.168.217.132) slave/ONLINE. Roles: reader(192.168.217.210)
測試 :關(guān)閉 mysql-master1 服務(wù) ,查看 mysql-master2 會不會搶占 。注意:等待一段時間查看 。
關(guān)閉 mysql-slave1 服務(wù) ,mysql-slave1 虛擬IP會自動漂移到mysql-slave2上 ,mysql-slave2上會有兩個地址 。

看了以上關(guān)于什么是mysql-mmm 高可用群集及怎么樣搭建,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,如有需要更加專業(yè)的解答,可在官網(wǎng)聯(lián)系我們的24小時售前售后,隨時幫您解答問題的。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站名稱:什么是mysql-mmm高可用群集及怎么樣搭建-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://www.rwnh.cn/article46/ddcoeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、ChatGPT手機網(wǎng)站建設(shè)、企業(yè)建站、網(wǎng)站制作、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司
郧西县| 皋兰县| 鲁甸县| 田东县| 永吉县| 沅江市| 福安市| 社会| 化隆| 海晏县| 临高县| 丘北县| 靖宇县| 衡东县| 遂溪县| 永州市| 临泽县| 钟山县| 横山县| 集贤县| 汝州市| 浏阳市| 元谋县| 峨眉山市| 苗栗市| 富宁县| 张家川| 淮安市| 纳雍县| 景德镇市| 叶城县| 漠河县| 新乡市| 称多县| 乌拉特后旗| 临颍县| 丹阳市| 利辛县| 永平县| 建阳市| 鄂托克旗|