MySQL高可用群集之MySQL-MMM
就是两台Master服务器,两台Master服务器实现双主从同步,当一个出现故障,另一个便会顶上去作为正在使用的服务器,需要一个监控机来控制vip虚拟ip的偏移
配置环境如下图所示
该软件的三个工具
mmm_monitor:监控进程,负责所有的监控工作
mmm_agent:运行在每个MySQL服务器上的代理进程
mmm_control:提供管理mmm_mond进程的命令脚本
MySQL-MMM配置搭建
所有配置文件位置(yum安装):/etc/mysql-mmm/
1.四台服务器安装登录mysql(可看前面的笔记)
2.四台服务器配置/etc/my.cnf配置文件(除了id不同其他相同)
3.配置192.168.0.101和192.168.0.102主主模式实现主主同步
查看两台服务器master_log_file和master_log_pos的值
192.168.0.101
192.168.0.102
101和102互相提升访问权限
192.168.0.101:
mysql>grant replication slave on *.* to 'test'@'192.168.0.102' identified by '123456';
mysql>flush privileges;
mysql>change master to master_host='192.168.0.102',master_user='test',master_password='123456',master_log_file='mysql-bin.000009',master_log_pos=107;
192.168.0.102:
mysql>grant replication slave on *.* to 'test'@'192.168.0.101' identified by '123456';
mysql>flush privileges;
mysql>change master to master_host='192.168.0.101',master_user='test',master_password='123456',master_log_file='mysql-bin.000014',master_log_pos=107;
分别查看101和102两台的的主从状态
192.168.0.101: 192.168.0.102:
测试主主是否同步
在两个服务器上分别创建一个库看是否同步
192.168.0.101: 192.168.0.102:
成功之后
4.配置103和104两台从服务器
查看192.168.0.101的状态值
在101主服务器上授予103和104访问权限
mysql>grant replication slave on *.* to 'test'@'192.168.0.103' identified by '123456';
mysql>grant replication slave on *.* to 'test'@'192.168.0.104' identified by '123456';
在103和104上分别执行数据库同步101
change master to master_host='192.168.0.101',master_user='test',master_password='123456',master_log_file='mysql-bin.000014',master_log_pos=291;
查看192.168.0.103的slave状态:
192.168.0.104的slave状态:
5.安装配置MySQL-MMM
每台服务器上安装epel源和MMM(一共5台都需要安装)
wget http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum -y install mysql-mmm*
补充:出现下面错误解决方法
vim /etc/yum.repos.d/epel.repo
yum clean all
再yum -y install mysql-mmm*
在4台mysql数据库服务器上登录数据库,授权monitor访问
mysql>grant replication client on *.* to 'mmm_monitor'@'192.168.0.%' identified by 'monitor';
mysql>grant super,replication client,process on *.* to 'mmm_agent'@'192.168.0.%' identified by 'agent';
在监控主机和4台mysql数据库服务器上配置mmm_common.conf文件(下图所示)
vim /etc/mysql-mmm/mmm_common.conf
在4台mysql数据库服务器上配置mmm_agent.conf文件(下图所示)
vim /etc/mysql-mmm/mmm_agent.conf
在监控服务器192.168.0.110上配置mmm_mon.conf文件(下图所示)
vim /etc/mysql-mmm/mmm_mon.conf
启动代理和监控
监控服务器:service mysql-mmm-monitor start
4台mysql服务器:service mysql-mmm-agent start
测试查看群集(如下图所示):mmm_control show
停掉192.168.0.101这台mysql数据库服务器再查看发现db1处于HARD_OFFLINE(离线状态,如下图所示)
再启动192.168.0.101这台mysql数据库服务器查看发现(如下图所示)
则成功完成配置