1. 程式人生 > >mysql群集架構mmm高可用群集

mysql群集架構mmm高可用群集

tor db4 shadow nag mysql- pass eas incr col

MMM(Master-Master replication manager for MySQL)是一套支持雙主故障切換和雙主日常管理的腳本程序。
優點:高可用性,擴展性好,出現故障自動切換,對於主主同步,在同一時間只提供一臺數據庫寫操作,保證的數據的一致性。當主服務器掛掉以後,另一個主立即接管,其他的從服務器能自動切換,不用人工幹預。


master1 ip地址:192.168.60.135
master2 ip地址:192.168.60.136
slave1 ip地址:192.168.60.143
slave2 ip地址:192.168.60.144
monitor ip地址:192.168.60.130

mysql版本為mariadb,使用yum直接安裝用於實驗


一、所有主機配置yum源

1、配置ALI雲源
wget -O /etc/yum.repos.d/CentOs-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

技術分享圖片

2、安裝epel-release源
yum install epel-release -y
yum clean all & yum makecache


3、yum一鍵安裝mariadb
yum install mariadb mariadb-server -y


4、修改配置文件
vim /etc/my.cnf
[mysqld]
log_error=/usr/local/mysql/data/mysql.err

log_slow_queries=/usr/local/data/mysql_slow_queris.log
log=/usr/local/mysql/data/mysql_log.log
binlog_ignore-db=mysql,information_schema
character_set_server=utf8
log_slave_updates=true
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1
log_bin=mysql-bin
server-id = 1 (每臺的主機server-id不能相同)

技術分享圖片
技術分享圖片

5、啟動mariadb

systemctl restart mariadb.service

技術分享圖片

二、主主復制

1、兩臺主服務器查看二進制文件以及偏移量
MariaDB [(none)]> show master status;

技術分享圖片

2、兩臺主服務器都需要授權
grant replication slave on . to ‘replication‘@‘192.168.60.%‘ identified by ‘123456‘;


3、兩臺主服務器互相設置主(對應之前查看的二進制日誌,以及偏移量)
change master to master_host=‘192.168.60.136‘,master_user=‘replication‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=245;
change master to master_host=‘192.168.60.135‘,master_user=‘replication‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=245;

技術分享圖片

show slave status; 查看slave狀態

技術分享圖片

三、主從復制

1、查看任意一臺主服務器的master狀態

技術分享圖片

2、從服務器進行主從復制
change master to master_host=‘192.168.60.135‘,master_user=‘replication‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=575;

技術分享圖片

3、查看狀態

技術分享圖片

三、每臺服務器都安裝mysql-mmm*

1、yum安裝
yum install mysqsl-mmm*


2、對mmm進行配置
vim /etc/mysql-mmm/mmm_common.conf

技術分享圖片
技術分享圖片

3、將配置覆蓋給每臺主機
scp mmm_common.conf [email protected]:/etc/mysql-mmm/
scp mmm_common.conf [email protected]:/etc/mysql-mmm/
scp mmm_common.conf [email protected]:/etc/mysql-mmm/
scp mmm_common.conf [email protected]:/etc/mysql-mmm/

技術分享圖片

四、監控服務器

1、修改配置文件

技術分享圖片

2、每天mysql主機給代理用戶,監控用戶授權
grant super,replication client,process on . to ‘mmm_agent‘@‘192.168.60.%‘ identified by ‘123456‘;
grant replication client on . to ‘mmm_monitor‘@‘192.168.60.%‘ identified by ‘123456‘;
flush privileges;

技術分享圖片

3、每臺mysql主機修改各自身份
vim /etc/mysql-mmm/mmm_agent.conf
主1 db1
主2 db2
從1 db3
從2 db4

技術分享圖片

4、mysql服務器開啟代理服務
systemctl start mysql-mmm-agent.service


5、監控服務器開啟監控服務
systemctl start mysql-mmm-monitor.service


6、監控服務器查看各監控點狀態
mmm_control show

技術分享圖片

7、在有虛擬IP的那臺主機上授權登陸用戶

技術分享圖片

技術分享圖片

8、關掉一臺主機的mysql服務,看虛擬地址會不會移動

技術分享圖片
技術分享圖片

9、再關掉一臺從服務器,看虛擬IP移動

技術分享圖片
end~

mysql群集架構mmm高可用群集