Centos7下mysql5.7-mmm高可用群集
嗯介绍
嗯(主-主复制经理MYSQL, MYSQL主主复制管理器)
是一套支持双主故障切换和双主日常管理的脚本程序.MMM使用Perl语言开发,主要用来监控和管理MYSQL -主(双主)复制,虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时备选主的预热,可以说嗯这套脚本程序一方面实现了故障切换的功能
另一方面其内部附加的工具脚本也可以实现多个奴隶的阅读负载均衡。
实验准备
4台安装mysql5.7服务的设备
1台用来安装嗯的centos7设备
实验步骤
关闭防火墙自启动,以及相关功能和增强性安全功能
<代码> systemctl firewalld.service停止 setenforce 0 代码>
配置阿里云源,然后安装epel-release源。
<代码> wget - o/etc/yum.repos.d/CentOS-Base。回购http://mirrors.aliyun.com/repo/centos - 7.回购 百胜是安装epel-release 百胜清洗所有的,,百胜makecache 代码>
修改mysql服务器的配置文件
<代码> vim/etc/my.cnf 修改mysqld下面的内容 (mysqld) log_error=/var/lib/mysql/mysql.err 日志=/var/lib/mysql/mysql_log.log log_slow_queries=/var/lib/mysql_slow_queris.log information_schema binlog-ignore-db=mysql character_set_server=utf8 log_bin=mysql_bin server_id=1 log_slave_updates=true sync_binlog=1 auto_increment_increment=2 auto_increment_offset=1 systemctl重启mysqld - - - - - - -没有问题后,把配置文件复制到其它3台数据库服务器上并启动服务器- - - - - - scp/etc/my.cnf root@192.168.100.101:/etc/scp/etc/my.cnf root@192.168.100.102:/etc/scp/etc/my.cnf root@192.168.100.103:/etc/- - - - - -注意:配置文件中的server_id要修改- - - - - - 代码> >之前配置主主复制,两台主服务器相互复制
<代码>显示主状态; + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | |文件位置| Binlog_Do_DB | Binlog_Ignore_DB | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | master-bin。000002 | | 339 | | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 1行集(0.00秒)# #记录日志文件名称和位置值,在两台主上查看。 - - - - -在m1上为m2授予从的权限,在m2上也要为m1授予从的权限推荐- - - - - - 格兰特复制奴隶*。*“复制”@“192.168.100。%”被“123456”;# #两台主服务器都执行,从服务器不需要 修改主master_host=192.168.100.101, master_user=案粗啤?master_password=?23456’, master_log_file=mysql_bin.000002, master_log_pos=339; - - - - - -注意,在m1上要指定m2上的日志文件名,和位置参数- - - - - -在m2上要反过来。 开始的奴隶; 显示奴隶状态; Slave_IO_Running:是的 Slave_SQL_Running:是的 - - - - - - -在另一台主上做- - - - -要指定m1的日志和位置参数- - - - - - 修改主master_host=192.168.100.100, master_user=案粗啤?master_password=?23456’, master_log_file=mysql_bin.000002, master_log_pos=339; 开始的奴隶; 显示奴隶状态; Slave_IO_Running:是的 Slave_SQL_Running:是的代码>配置主从复制
<代码>修改主master_host=192.168.100.100, master_user=案粗啤?master_password=?23456’, master_log_file=mysql_bin.000002, master_log_pos=339; 开始的奴隶; 显示奴隶状态; Slave_IO_Running:是的 Slave_SQL_Running:是的代码>安装嗯
在所有服务器上安装- - - - - -注意,epel源要配置好
<代码> yum - y安装mysql-mmm * 代码>配置嗯
<代码> cd/etc/mysql-mmm/vi mmm_common。参看# #所有主机上都要配置,直接复制多份 & lt;主机default> cluster_interface ens33 …… replication_user复制 replication_password 123456 agent_user mmm_agent agent_password 123456 & lt;主机db1> ip 192.168.100.100 模式主 同行db2 & lt;/host> & lt;主机db2> ip 192.168.100.101 模式主 同行db1 & lt;/host> & lt;主机db3> ip 192.168.100.102 模式的奴隶 & lt;/host> & lt;主机db4> ip 192.168.100.103 模式的奴隶 & lt;/host> writer> & lt;作用; 主机db1、db2 ips 192.168.100.200 模式的独家 & lt;/role> reader> & lt;作用; 主机db4, db4 ips 192.168.100.201, 192.168.100.202 模式的平衡 & lt;/role> scp mmm_common。参看root@192.168.100.100:/etc/mysql-mmm/scp mmm_common。参看root@192.168.100.101:/etc/mysql-mmm/scp mmm_common。参看root@192.168.100.102:/etc/mysql-mmm/scp mmm_common。参看root@192.168.100.103:/etc/mysql-mmm/# #复制给mysql服务器 - - - - - - - - - - - - - - - - - -在监控服务器上配置- - - - - cd/etc/mysql-mmm///改密码 vi mmm_mon.conf & lt;主机default> monitor_user mmm_monitor monitor_password 123456 & lt;/host> - - - - - - - - - - - - - - - -在所有数据库上为mmm_agent授权- - - - - - 格兰特超级,复制客户端,过程*。*“mmm_agent”@“192.168.100。%”被“123456”; - - - - - - - - - - - - - - - -在所有数据库上为mmm_moniter授权- - - - - - 格兰特复制客户端*。*“mmm_monitor”@“192.168.100。%”被“123456”; 冲洗特权; - - - - - - - - - - - - - - - - - -修改所有数据库的mmm_agent.conf - - - - - vi/etc/mysql-mmm/mmm_agent.conf 这个db1 # #主1主2从1从2分别为db {1, 2, 3, 4} - - - - - - - - - - - - - - - -在所有数据库服务器上启动mysql-mmm-agent - - - - - - systemctl开始mysql-mmm-agent.service systemctl启用mysql-mmm-agent.service - - - - - - - - - - - - - - - - - -在监控服务器上配置- - - - - - cd/etc/mysql-mmm/vi mmm_mon.conf …… ping_ips 192.168.100.100,192.168.100.101,192.168.100.102,192.168.100.103 # #数据库服务器地址 auto_set_online 10 systemctl mysql-mmm-monitor开始。服务# #启动mysql-mmm-monitor mmm_control显示# #查看各节点的情况 db1(192.168.100.100)主/在线。角色:作家(192.168.100.200) db2(192.168.100.101)主/在线。角色: db4(192.168.100.102)奴隶/在线。角色:读者(192.168.100.201) db4(192.168.100.103)奴隶/在线。角色:读者(192.168.100.202) null null null null null null null null null null null null null null null null null null null null nullCentos7下mysql5.7-mmm高可用群集