微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Centos 7 MYSQL-MMM高可用

Centos 7 MysqL-MMM高可用

操作环境:

虚拟机: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 0

1、搭建阿里云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

2、四台数据库服务器,安装以下程序
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 --安装mariadb

3、操作主数据库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 [email protected]:/etc/
scp /etc/my.cnf [email protected]:/etc/
scp /etc/my.cnf [email protected]:/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用户读取二进制文件

show master status \G --查看master状态

Centos 7  MYSQL-MMM高可用

4、操作主数据库2
vi /etc/my.cnf --修改一下Server-id,每台数据库Server-id不能一样

Centos 7  MYSQL-MMM高可用

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高可用

5、操作主数据库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高可用

6、操作从数据库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高可用

7、操作从数据库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高可用

8、否实现主主备份主从同步
在主数据库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高可用

9、安装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 [email protected]:/etc/MysqL-mmm/
 scp mmm_common.conf [email protected]:/etc/MysqL-mmm/
 scp mmm_common.conf [email protected]:/etc/MysqL-mmm

10、在monitor服务器上配置:192.168.80.104
cd /etc/MysqL-mmm/
vi mmm_mon.conf
提示:修改红线的内容

Centos 7  MYSQL-MMM高可用

11、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

12、在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高可用

13、查看是否有漂移地址
数据库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高可用

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。