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 root@192.168.60.136:/etc/mysql-mmm/ scp mmm_common.conf root@192.168.60.143:/etc/mysql-mmm/ scp mmm_common.conf root@192.168.60.144:/etc/mysql-mmm/ scp mmm_common.conf root@192.168.60.130:/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~