集群环境
Monitor Centos7.2 192.168.1.88 MMM管理端
Master1 Centos7.2 192.168.1.1 主Master可读,可写
Master2 Centos7.2 192.168.1.2 备Master可读,可写
Slave1 Centos7.2 192.168.1.3 Slave节点,只读
Slave2 Centos7.2 192.168.1.4 Slave节点,只读
虚拟IP
192.168.1.10 writer IP 写入VIP
192.168.1.20 reader IP 读取VIP
192.168.1.30 reader IP 读取VIP
192.168.1.40 reader IP 读取VIP
操作步骤
1.做时间同步
2.Master1与Master2,互为主从进行复制
3.Master1与Slave1与Slave2,进行主从复制
4.Master2与Slave1与Slave2,进行主从复制
(创建的复制账户需要一致账号: replication 密码: replication)
MMM的安装与配置
安装epel源
yum -y install epel-release在Mnoitor管理节点上安装mysql-mmm-monitor
yum -y install install mysql-mmm-monitor在每一个Mysql节点上安装mysql-mmm-agent
yum -y install mysql-mmm-agent
MMM集群套件的配置
- 在所有mysql节点上的配置文件[mysql]段添加以下内容,并重启服务
vim /etc/my.cnf
[mysql]
read_only=1 对所有非临时表进行只读控制
wq!
systemctl restart mariadb
- 在所有Mysql节点上创建MMM的两个账号
mmm_monitor 对所有mysql节点进行健康检查
mmm_agent 切换只读模式和同步Master信息
mysql -u -p
12345
mariadb> grant peplication client on *.* to 'mmm_monitor'@'192.168.1.%' identified by 'passwd';
mariadb>grant super, replication client, process on *.* to 'mmm_agent'@'192.168.1.%' identified by 'passwd';
- 修改mmm_common.conf(5台相同)
vim /etc/mysql-mmm/mmm_common.conf
active_master_role writer
<host default>
cluster_interface ens33
pid_path /var/run/mysql-mmm/mmm_agentd.pid
bin_path /usr/libexec/mysql-mmm/
replication_user replication
replication_password replication
agent_user mmm_agent
agent_password passwd
</host>
<host db1>
ip 192.168.1.1
mode master
peer db2
</host>
<host db2>
ip 192.168.1.2
mode master
peer db1
</host>
<host db3>
ip 192.168.1.3
mode slave
</host>
<host db4>
ip 192.168.1.4
mode slave
</host>
<role writer>
hosts db1, db2
ips 192.168.1.100
mode exclusive #只有一个host可以writer,一般写操作是这个模式
</role>
<role reader>
hosts db3, db4
ips 192.168.1.200,192.168.1.300
mode balanced #多个host可以reader,一般读操作是这个模式
</role>
- 修改4台Mysql节点上的mmm_agent.conf文件
vim /etc/mysql-mmm/mmm_agent.conf
include mmm_common.conf
this db1 (其他上分别为db2 , db3 , db4)
- 在管理节点上修改配置mmm_mon.conf
vim /etc/mysql-mmm/mmm_mon.conf
include mmm_common.conf
<monitor>
ip 127.0.0.1
pid_path /var/run/mysql-mmm/mmm_mond.pid
bin_path /usr/libexec/mysql-mmm
status_path /var/lib/mysql-mmm/mmm_mond.status
ping_ips 192.168.1.1, 192.168.1.2, 192.168.1.3, 192.168.1.4
#真实数据库IP,来检测网络是否正常
auto_set_online 10 #恢复后自动设置在线的时间
</monitor>
<host default>
monitor_user mmm_monitor
monitor_password passwd
</host>
debug 0
- 启动MMM集群服务
在管理节点
/etc/init.d/mysql-mmm-monitor {start|stop|restart|condrestart|status}
在agent节点
/etc/init.d/mysql-mmm-agent {start|stop|restart|condrestart|status}
MMM集群日常维护
查看MMM集群运行状态
mmm_control show
查看集群节点的运行状态
mmm_control checks all
查看某个节点的运行状态
mmm_control checks db1