MySQL-MMM高可用群集

一、MMM簡介
1、MMM(Master-Master replication manager for MySQL,MySQL主主復(fù)制管理器)是一套支持雙主故障切換和雙主日常管理的腳本程序。
2、MMM是一套靈活的腳本程序,基于perl實(shí)現(xiàn),用來對mysql replication進(jìn)行監(jiān)控和故障轉(zhuǎn)移,并能管理MySQL Master-Master復(fù)制的配置。
3、關(guān)于MMM高可用架構(gòu)的說明如下:
(1)mmm-mon:監(jiān)控進(jìn)程,負(fù)責(zé)所有的監(jiān)控工作,決定和處理所有節(jié)點(diǎn)角色活動(dòng)。此腳本需要在監(jiān)管機(jī)上運(yùn)行。
(2)mmm-agent:運(yùn)行在每個(gè)MySQL服務(wù)器上的代理進(jìn)程,完成監(jiān)控的探針工作和執(zhí)行簡單的遠(yuǎn)端服務(wù)設(shè)置。此腳本需要在被監(jiān)管機(jī)上運(yùn)行。
(3)mmm-control:一個(gè)簡單的腳本,提供mmm_mond進(jìn)程的命令。
(4)mysql-mmm的監(jiān)管端會(huì)提供多個(gè)虛擬IP(VIP),包括一個(gè)可寫VIP,多個(gè)可讀VIP,通過監(jiān)管的管理,這些IP會(huì)綁定在可用MySQL之上,當(dāng)某一臺(tái)MySQL宕機(jī)時(shí),監(jiān)管會(huì)將VIP遷移至其他MySQL。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、網(wǎng)站建設(shè)、三水網(wǎng)絡(luò)推廣、微信小程序開發(fā)、三水網(wǎng)絡(luò)營銷、三水企業(yè)策劃、三水品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供三水建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:muchs.cn

實(shí)驗(yàn)環(huán)境:
    五臺(tái)centos7
        四臺(tái)MySQL:m1 192.168.30.30 、m2 192.168.30.31、s1 192.168.30.32、s2 192.168.30.35
        一臺(tái)mmm_moniter:192.168.30.36
        service firewalld stop
        setenforce 0

二 安裝MySQL和MySQL-mmm

  1. 為了實(shí)驗(yàn)一致性,統(tǒng)一使用yum源安裝MySQL和MySQL-mmm
    更換為阿里源

          yum install wget -y
            wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
            yum -y install epel-release
            yum clean all && yum makecache

2 在四臺(tái)MySQL服務(wù)器上安裝mariadb
yum -y install mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb

3 -----修改m1主配置文件---
vi /etc/my.cnf //
合適的位置添加以下內(nèi)容

[mysqld]
log_error=/var/lib/mysql/mysql.err
log=/var/lib/mysql/mysql_log.log
log_slow_queries=/var/lib/mysql_slow_queris.log
binlog-ignore-db=mysql,information_schema
character_set_server=utf8
log_bin=mysql_bin
server_id=1
log_slave_updates
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1

systemctl restart mariadb
netstat -anpt | grep 3306
-------沒有問題后,把配置文件復(fù)制到其它3臺(tái)數(shù)據(jù)庫服務(wù)器上并啟動(dòng)服務(wù)器-----
-----注意:配置文件中的server_id 要修改-----
之后也重啟mariadb
systemctl start mariadb
systemctl enable mariadb

4 配置主主復(fù)制----兩臺(tái)主服務(wù)器相互復(fù)制
mysql #進(jìn)入數(shù)據(jù)庫
show master status; //記錄日志文件名稱和 位置值,在兩臺(tái)主上查看。
由于我的兩臺(tái)數(shù)據(jù)庫都是純凈的沒有執(zhí)行任何操作,因此二進(jìn)制日志文件和位置變量都是一樣的,但是性質(zhì)卻不相同,一個(gè)對應(yīng)的主服務(wù)器master1,一個(gè)對應(yīng)的是master2
m1
MySQL-MMM高可用群集
m2
MySQL-MMM高可用群集

grant replication slave on *.* to 'replication'@'192.168.30.%' identified by '123456'; //兩臺(tái)主服務(wù)器互相授權(quán)連接
m1:  change master to master_host='192.168.30.31',master_user='replication',master_password='123456',master_log_file='mysql_bin.000003',master_log_pos=410; //master1指定master2的地址和對應(yīng)的二進(jìn)制日志文件和位置變量
m2: change master to master_host='192.168.30.30',master_user='replication',master_password='123456',master_log_file='mysql_bin.000003',master_log_pos=410; //master2指定master1的地址和對應(yīng)的二進(jìn)制日志文件和位置變量
start slave;    //分別開啟復(fù)制功能  
show slave status;      //分別查看狀態(tài)
只要保證SlaveIORunning: Yes和SlaveSQLRunning: Yes就ok!

m1
MySQL-MMM高可用群集
m2
MySQL-MMM高可用群集

5 建庫測試主主同步
create database dba; //在另一臺(tái)主上可以看到
drop database dba; //在主上刪除后,另一臺(tái)主上也沒有了,同步成功。

6 建立主從同步

s1和s2分別指向兩臺(tái)主中的任意一臺(tái)
show master status; 在master1 上再次查看日志狀態(tài)

    change master to master_host='192.168.30.30',master_user='replication',master_password='123456',master_log_file='mysql_bin.000003',master_log_pos=410;
    start slave;
    show slave status; 查看復(fù)制狀態(tài)

s1
MySQL-MMM高可用群集
s2
MySQL-MMM高可用群集
-----測試主從、主主、同步 情況----

建立數(shù)據(jù)庫,然后測試同步情況
create database abc; //兩臺(tái)主中任意一臺(tái)創(chuàng)建
show databases; //在兩臺(tái)從服務(wù)器上分別查看

三 安裝MMM----在所有服務(wù)器上安裝
1
yum -y install mysql-mmm-agent //在四臺(tái)數(shù)據(jù)庫服務(wù)器上安裝代理端
yum -y install mysql-mmm-monitor //在另外一臺(tái)空機(jī)器上安裝監(jiān)視器

2 安裝結(jié)束后,對mmm-agent端進(jìn)行配置

讀寫分離需要配合amoeba實(shí)現(xiàn),這里就不介紹了點(diǎn)擊查看詳情amoeba讀寫分離
cd /etc/mysql-mmm/
1)vi mmm_common.conf //所有主機(jī)上都要配置,直接復(fù)制多份
MySQL-MMM高可用群集
指定各個(gè)代理主機(jī)的IP地址和模式:
MySQL-MMM高可用群集
配置讀寫的角色:
MySQL-MMM高可用群集
2)配置mmm_agent.conf(四臺(tái)數(shù)據(jù)庫不包括監(jiān)視器)依次排列
vi /etc/mysql-mmm/mmm_agent.confMySQL-MMM高可用群集
3)配置mmm_mon.conf
vi /etc/mysql-mmm/mmm_mon.conf //配置監(jiān)控主機(jī)
MySQL-MMM高可用群集
4)監(jiān)控端和代理端授權(quán)(四臺(tái)數(shù)據(jù)庫服務(wù)器上)
mysql //進(jìn)入數(shù)據(jù)庫
grant super, replication client, process on . to 'mmm_agent'@'192.168.30.%' identified by '123456'; //為代理端授權(quán)
grant replication client on . to 'mmm_monitor'@'192.168.30.%' identified by '123456'; //為監(jiān)控端授權(quán)
flush privileges; //刷新權(quán)限

systemctl start mysql-mmm-agent //四臺(tái)數(shù)據(jù)庫服務(wù)器分別啟動(dòng)mysql代理端
systemctl enable mysql-mmm-agent //開機(jī)自啟
systemctl start mysql-mmm-monitor //監(jiān)控主機(jī)啟動(dòng)mysql監(jiān)控端
systemctl enable mysql-mmm-monitor //開機(jī)自啟

mmm_control show //查看各節(jié)點(diǎn)的情況
MySQL-MMM高可用群集
注意:查看不到,稍等片刻繼續(xù)查看,會(huì)有響應(yīng)時(shí)間*

    mmm_control checks all //需要各種OK

5)故障測試
(1)停止master1

systemctl stop mariadb
mmm_control show    //在監(jiān)控主機(jī)上查看

驗(yàn)證虛擬地址 188 是否移動(dòng)到 master2 上
MySQL-MMM高可用群集

新聞名稱:MySQL-MMM高可用群集
轉(zhuǎn)載注明:http://muchs.cn/article48/gpphhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、商城網(wǎng)站用戶體驗(yàn)、面包屑導(dǎo)航、品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司

廣告

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

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司