Centos 7 MYSQL-MMM高可用

Centos 7 MYSQL-MMM高可用

操做環境:mysql

虛擬機:5臺
雙網卡 第一塊內網,第二塊外網(虛擬機必定要能上網)
192.168.80.100 主數據庫1
192.168.80.101 主數據庫2
192.168.80.102 從數據庫1
192.168.80.103 從數據庫2
192.168.80.104 監控端 monitor
5臺虛擬機的防火牆必定要關:systemctl stop firewalld
setenforce 0sql

一、搭建阿里雲yum倉庫:數據庫

[Ali]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

二、四臺數據庫服務器,安裝如下程序
yum install -y wget --安裝下載工具
wget -O /etc/yum.repos.d/ali.repo http://mirrors.aliyun.com/repo/Centos-7.repo --下載aliyun的網絡yum源
yum -y install epel-release --安裝官方源
yum clean all && yum makecache --清除yum倉庫緩存,在重建yum倉庫
yum -y install mariadb-server mariadb --安裝mariadbcentos

三、操做主數據庫1
vi /etc/my.cnf緩存

[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

Centos 7  MYSQL-MMM高可用

systemctl start mariadb --啓動mariadb數據庫
netstat -anpt | grep 3306
Centos 7  MYSQL-MMM高可用服務器

把配置文件複製到其它3臺數據庫服務器上並啓動服務器(這裏根據本身的實際狀況)
提示:當你發送到目標主機後,它會把你原有內容覆蓋掉。網絡

scp /etc/my.cnf root@192.168.80.101:/etc/
scp /etc/my.cnf root@192.168.80.102:/etc/
scp /etc/my.cnf root@192.168.80.103:/etc/
mysqladmin -u root -p password "123"   --給mysql設置用戶名和密碼
mysql    -uroot  -p123   --進入數據庫,若是沒有給mysql設置密碼直接輸入mysql便可

Centos 7  MYSQL-MMM高可用
grant replication slave on *.* to 'myslave'@'192.168.80.%' identified by '123; --授予mysalve用戶讀取二進制文件ide

show master status \G --查看master狀態
Centos 7  MYSQL-MMM高可用工具

四、操做主數據庫2
vi /etc/my.cnf --修改一下Server-id,每臺數據庫Server-id不能同樣
Centos 7  MYSQL-MMM高可用this

service mariadb restart --重啓數據庫

mysqladmin -u root -p password "123"   --給mysql設置用戶名和密碼
mysql    -uroot  -p123   --進入數據庫,若是沒有給mysql設置密碼直接輸入mysql便可

grant replication slave on *.* to 'replication'@'192.168.80.%' identified by '123';
change master to master_host='192.168.80.100',master_user='replication',master_password='123456',master_log_file='mysql_bin.000001',master_log_pos=490; 提示:master_log_file='mysql_bin.000001',master_log_pos=490 這個參數是根據你的主數據庫1 master狀態 ,每一個人的都不同,根據本身的改。
Centos 7  MYSQL-MMM高可用

start slave; --開啓同步
show slave status \G --查看slave狀態,根據截圖效果
提示:根據紅圈的內容,查看是否成功,成功只爲YES
Centos 7  MYSQL-MMM高可用
show master status \G --查看master狀態
Centos 7  MYSQL-MMM高可用

五、操做主數據庫1
mysql -uroot -p123 --進入數據庫
change master to master_host='192.168.80.101master_user='myslave',master_password='123',master_log_file='mysql_bin.000004',master_log_pos=1098;
提示:master_log_file='mysql_bin.000004',master_log_pos=1098 這個參數是根據你的主數據庫2 master狀態 ,每一個人的都不同,根據本身的改。

start slave; --啓動同步
show slave status \G --查看slave狀態
提示:根據紅圈的內容,查看是否成功,成功只爲YES
Centos 7  MYSQL-MMM高可用

六、操做從數據庫1
vi /etc/my.cnf --修改一下Server-id,每臺數據庫Server-id不能同樣
Centos 7  MYSQL-MMM高可用

systemctl start mariadb --啓動mariadb數據庫

mysqladmin -u root -p password "123"   --給mysql設置用戶名和密碼
mysql    -uroot  -p123   --進入數據庫,若是沒有給mysql設置密碼直接輸入mysql便可

start slave; --啓動同步
show slave status \G --查看slave狀態,根據截圖效果
提示:根據紅圈的內容,查看是否成功,成功只爲YES
Centos 7  MYSQL-MMM高可用

七、操做從數據庫2
vi /etc/my.cnf --修改一下Server-id,每臺數據庫Server-id不能同樣
Centos 7  MYSQL-MMM高可用

systemctl start mariadb --啓動mariadb數據庫

mysqladmin -u root -p password "123"   --給mysql設置用戶名和密碼
mysql    -uroot  -p123   --進入數據庫,若是沒有給mysql設置密碼直接輸入mysql便可

start slave; --啓動同步
show slave status \G --查看slave狀態,根據截圖效果
提示:根據紅圈的內容,查看是否成功,成功只爲YES
Centos 7  MYSQL-MMM高可用

八、否實現主主備份主從同步
在主數據庫1上建立一個aa數據庫,查看主數據庫2是否備份成功,從數據庫1和從數據庫2是否同步成功。
192.168.80.101
Centos 7  MYSQL-MMM高可用
192.168.80.102
Centos 7  MYSQL-MMM高可用
192.168.80.103
Centos 7  MYSQL-MMM高可用

九、安裝MMM----在全部服務器上安裝-----注意,epel源要配置好
yum -y install mysql-mmm* --五臺虛擬機都要安裝監控軟件

操做主數據庫1
cd /etc/mysql-mmm/
Centos 7  MYSQL-MMM高可用
vi mmm_common.conf
提示:紅 圈處是要修改的內容
Centos 7  MYSQL-MMM高可用
Centos 7  MYSQL-MMM高可用
Centos 7  MYSQL-MMM高可用

發送給其餘數據庫服務器

scp mmm_common.conf root@192.168.80.101:/etc/mysql-mmm/
 scp mmm_common.conf root@192.168.80.102:/etc/mysql-mmm/
 scp mmm_common.conf root@192.168.80.103:/etc/mysql-mmm

十、在monitor服務器上配置:192.168.80.104
cd /etc/mysql-mmm/
vi mmm_common.conf
提示:修改紅線的內容
Centos 7  MYSQL-MMM高可用

十一、5臺服務器統一操做
vi /etc/mysql-mmm/mmm_agent.conf
Centos 7  MYSQL-MMM高可用

主數據庫1:this db1
主數據庫2:this db2
從數據庫1:this db3
從數據庫2:this db4
monitor服務器:this db5

是在各自的配置文件修改,不是在一個虛擬機,每一個虛擬機都要執行的操做。

在四臺數據庫中爲mmm_agent受權
grant super, replication client, process on *.* to 'mmm_agent'@'192.168.80.%' identified by '123';

grant replication client on *.* to 'mmm_monitor'@'192.168.80.%' identified by '123';

systemctl start mysql-mmm-agent

十二、在monitor服務器上配置:
vi /etc/mysql-mmm/mmm_mon.conf
Centos 7  MYSQL-MMM高可用

systemctl start mysql-mmm-monitor //啓動mysql-mmm-monitor

netstat -anp | grep 9988
Centos 7  MYSQL-MMM高可用

mmm_control checks all
Centos 7  MYSQL-MMM高可用

mmm_control show
Centos 7  MYSQL-MMM高可用

1三、查看是否有漂移地址
主數據庫1
Centos 7  MYSQL-MMM高可用
從數據庫1
Centos 7  MYSQL-MMM高可用
從數據庫2
Centos 7  MYSQL-MMM高可用

模擬主數據庫1,從數據庫1故障,查看漂移地址是否從主數據庫1漂移到主數據庫2,和從數據庫1的地址漂移到從數據庫2上去
主數據庫1
systemctl stop mariadb
主數據庫2
Centos 7  MYSQL-MMM高可用
從數據庫1
systemctl stop mariadb
從數據庫2
Centos 7  MYSQL-MMM高可用

相關文章
相關標籤/搜索