溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MHA+Atlas架構(gòu)搭建

發(fā)布時間:2020-07-20 10:50:09 來源:網(wǎng)絡(luò) 閱讀:577 作者:Ywl919647870 欄目:MySQL數(shù)據(jù)庫
  1. 一、基于普通主從復(fù)制的弊端;MHA能做到在10~30秒之內(nèi)自動完成數(shù)據(jù)庫的故障切換操作,并且在進(jìn)行故障切換的過程中,MHA能在最大程度上保證數(shù)據(jù)的一致性,以達(dá)到真正意義上的高可用。

  2. 二、架構(gòu)

              

MHA+Atlas架構(gòu)搭建

三、軟件介紹

MHA軟件由兩部分組成,Manager工具包和Node工具包

Manager工具包

masterha_check_ssh                 #檢査 MHA 的 ssh-key^

masterha_check_repl                 #檢査主從復(fù)制情況

masterha_manger                      #啟動MHA

masterha_check_status             #檢測MHA的運(yùn)行狀態(tài)^

masterha_mast er_monitor        #檢測master是否宕機(jī)一

masterha_mast er_switch          #手動故障轉(zhuǎn)移—

masterha_conf_host                  #手動添加server倍息一

masterha_secondary_check     #建立TCP連接從遠(yuǎn)程服務(wù)器v

masterha_stop                          #停止MHA

Node工具包主要包括以下幾個工具:

save_binary_1ogs       #保存宕機(jī)的master的binlog

apply_diff_relay_logs   #識別relay log的差異

filter_mysqlbinlog           #防止回滾事件一MHA已不再使用這個工具

purge_relay_logs           #清除中繼曰志一不會阻塞SQL線程


四、 MHA的優(yōu)點

1、自動故障轉(zhuǎn)移

2、主庫崩潰不存在數(shù)據(jù)不一致的情況

3、不需要對當(dāng)前的mysql環(huán)境做重大修改

4、不需要添加額外的服務(wù)器

5、性能優(yōu)秀,可以工作再半同步和異步復(fù)制框架

6、只要replication支持的存儲引擎mha都支持

五、環(huán)境說明

db01主機(jī)(master

[root@db01 ~]# cat /etc/redhat-release

CentOS release 6.9 (Final)

[root@db01 ~]# uname -r

2.6.32-696.el6.x86_64

[root@db01 ~]# /etc/init.d/iptables status

iptables: Firewall is not running.

[root@db01 ~]# getenforce

Disabled

[root@db01 ~]# hostname -I

10.0.0.51 172.16.1.51

db02主機(jī)(slave1

 [root@db02 ~]# cat /etc/redhat-release

 CentOS release 6.9 (Final)

 [root@db02 ~]# uname -r

 2.6.32-696.el6.x86_64

 [root@db02 ~]# /etc/init.d/iptables status

 iptables: Firewall is not running.

 [root@db02 ~]# getenforce

 Disabled

 [root@db02 ~]# hostname -I

 10.0.0.52 172.16.1.52

 

db03主機(jī)(slave1,MHA Manages、Atlas節(jié)點)

 [root@db03 ~]# cat /etc/redhat-release

 CentOS release 6.9 (Final)

 [root@db03 ~]# uname -r

 2.6.32-696.el6.x86_64

 [root@db03 ~]# /etc/init.d/iptables status

 iptables: Firewall is not running.

 [root@db03 ~]# getenforce

 Disabled

 [root@db03 ~]# hostname -I

 10.0.0.53 172.16.1.53

三臺服務(wù)器上都全新安裝mysql 5.6.38

[root@db01 ~]# mysql --version

mysql  Ver 14.14 Distrib 5.6.38, for Linux (x86_64) using  EditLine wrapper


五、基于GTID的主從復(fù)制配置

主庫和從庫都要開啟binlog

主庫和從庫server-id必須不同

要有主從復(fù)制用戶


5.1、配置主從復(fù)制

db01 my.cnf文件

[mysqld]

basedir=/application/mysql

datadir=/application/mysql/data

socket=/tmp/mysql.sock

log-error=/var/log/mysql.log

log-bin=/application/mysql/mysql-bin

binlog_format=row

secure-file-priv=/tmp

server-id=51

skip-name-resolve  # 跳過域名解析

gtid-mode=on    # 啟用gtid類型,否則就是普通的復(fù)制架構(gòu)

enforce-gtid-consistency=true    #強(qiáng)制GTID的一致性

log-slave-updates=1     # slave更新是否記入日志(5.6必須的)

relay_log_purge = 0

[mysql]

socket=/tmp/mysql.sock

db02 my.cnf文件

[root@db02 ~]# cat /etc/my.cnf

[mysqld]

basedir=/application/mysql

datadir=/application/mysql/data

socket=/tmp/mysql.sock

log-error=/var/log/mysql.log

log-bin=/application/mysql/mysql-bin

binlog_format=row

secure-file-priv=/tmp

server-id=52

skip-name-resolve

gtid-mode=on

enforce-gtid-consistency=true

log-slave-updates=1

relay_log_purge = 0

[mysql]

socket=/tmp/mysql.sock

db03 my.cnf文件

[root@db03 ~]# cat /etc/my.cnf

 [mysqld]

 basedir=/application/mysql

 datadir=/application/mysql/data

 socket=/tmp/mysql.sock

 log-error=/var/log/mysql.log

 log-bin=/application/mysql/mysql-bin

 binlog_format=row

 secure-file-priv=/tmp

 server-id=53

 skip-name-resolve

 gtid-mode=on

 enforce-gtid-consistency=true

 log-slave-updates=1

 relay_log_purge = 0

 skip-name-resolve

 [mysql]

 socket=/tmp/mysql.sock


創(chuàng)建復(fù)制用戶 (51作為主節(jié)點,52、53為從)

GRANT REPLICATION SLAVE ON *.* TO repl@'172.16.1.%' IDENTIFIED BY '123';

從庫開啟復(fù)制

change master to

master_host='172.16.1.51',

master_user='repl',

master_password='123',

MASTER_AUTO_POSITION=1;

啟動從庫復(fù)制

start slave;









向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI