MySQL MMM详细安装配置步骤
mysql-mmm怎么详细步骤

首页 2025-07-09 19:36:37



MySQL-MMM详细搭建步骤指南 在当今的数据库管理领域,高可用性和数据冗余性至关重要

    MySQL-MMM(Multi-Master Replication Manager for MySQL)是一个基于Perl实现的脚本套件,专为MySQL设计,用于监控、故障转移和管理多主复制配置

    它不仅能提供浮动IP的功能,还能在主服务器宕机时自动将后端从服务器转向新的主服务器进行同步复制,从而确保MySQL的高可用性

    本文将详细介绍MySQL-MMM的搭建步骤,帮助您在多服务器环境中实现这一强大的高可用架构

     一、环境准备 在开始搭建之前,确保您具备以下环境: -服务器配置:至少两台主数据库服务器(Master1和Master2),两台从数据库服务器(Slave1和Slave2),以及一台监控服务器(Monitor)

    所有服务器均运行CentOS7或更高版本

     -IP地址规划:为每个服务器分配唯一的IP地址,并规划好虚拟IP(VIP)用于读写分离

     -MySQL版本:确保所有数据库服务器上安装的MySQL版本一致,建议使用稳定版本如MySQL5.7或更高

     二、安装MySQL及配置主从复制 1.在所有数据库服务器上安装MySQL: 配置YUM源并安装MySQL: bash echo【mysql-release-$basearch】 name=Percona-Release YUM repository - $basearch baseurl=https://mirror.tuna.tsinghua.edu.cn/mysql/yum/mysql57-community-el7/ gpgcheck=0 > /etc/yum.repos.d/mysql.repo yum -y install mysql mysql-server 2.配置MySQL服务: 编辑`/etc/my.cnf`文件,确保每台服务器的`server-id`唯一,并配置其他必要的参数,如字符集、日志、二进制日志等

     3.启动MySQL服务: bash systemctl enable mysql mkdir /var/log/mysql && chown -R mysql.mysql /var/log/mysql systemctl start mysql 4.配置主主复制: 在Master1和Master2上互相授权复制用户,并配置复制参数

    例如,在Master1上执行: sql GRANT REPLICATION SLAVE ON- . TO replica_user@Master2_IP IDENTIFIED BY replica_password; FLUSH PRIVILEGES; STOP SLAVE; RESET SLAVE ALL; CHANGE MASTER TO MASTER_HOST=Master2_IP, MASTER_USER=replica_user, MASTER_PASSWORD=replica_password, MASTER_LOG_FILE=mysql-bin.000001, MASTER_LOG_POS=4; START SLAVE; 在Master2上执行类似的操作,但指向Master1

     5.配置主从复制: 在Slave1和Slave2上配置为Master1的从服务器

    例如,在Slave1上执行: sql GRANT REPLICATION SLAVE ON- . TO replica_user@Master1_IP IDENTIFIED BY replica_password; FLUSH PRIVILEGES; STOP SLAVE; RESET SLAVE ALL; CHANGE MASTER TO MASTER_HOST=Master1_IP, MASTER_USER=replica_user, MASTER_PASSWORD=replica_password, MASTER_LOG_FILE=mysql-bin.000001, MASTER_LOG_POS=4; START SLAVE; 在Slave2上执行类似的操作

     6.验证复制: 在Master和Slave上执行`SHOW SLAVE STATUSG`,确保`Slave_IO_Running`和`Slave_SQL_Running`均为`Yes`

     三、安装与配置MySQL-MMM 1.在所有服务器上安装MySQL-MMM: 由于CentOS默认仓库中不包含MySQL-MMM,需要先安装EPEL仓库: bash wget http://download1.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm rpm -Uvh rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm yum -y install mysql-mmm 2.配置MySQL-MMM: -创建监控和代理账号:在所有数据库服务器上,为MMM监控和代理创建用户并授权

     sql GRANT REPLICATION CLIENT ON- . TO mmm_monitor@% IDENTIFIED BY monitor_password; GRANT SUPER, REPLICATION CLIENT, PROCESS ON- . TO mmm_agent@% IDENTIFIED BY agent_password; FLUSH PRIVILEGES; -配置共同文件:在监控服务器上创建`/etc/mysql-mmm/mmm_common.conf`文件,并复制到所有数据库服务器

    该文件包含集群的基本配置,如角色、IP地址、用户名和密码等

     ini active_master_role writer cluster_interface eth0 pid_path /var/run/mysql-mmm/mmm_agentd.pid bin_path /usr/libexec/mysql-mmm replication_user rep replication_password rep_password agent_user mmm_agent agent_password agent_password ip192.168.x.101 mode master peer db2 ip192.168.x.102 mode master peer db1 ip192.168.x.103 mode slave ip192.168.x.104 mode slave hosts db1, db2 ips192.168.x.100 mode exclusive hosts db1, db2, db3, db4 ips192.168.x.105,192.168.x.106,192.168.x.107,192.168.x.108 mode balanced -配置代理文件:在每个数据库服务器上编辑`/etc/mysql-mmm/mmm_agent.conf`文件,确保`this`后面的主机名与当前服务器一致

     -配置监控文件:在监控服务器上编辑`/etc/mysql-mmm/mmm_mon.conf`文件,包含监控服务器的配置信息

     3.启动MySQL-MMM: -启动代理:在所有数据库服务器上启动`mysql-mmm-agent`服务

     bash systemctl enable mysql-mmm-agent systemctl start mysql-mmm-agent -启动监控:在监控服务器上启动`mysql-mmm-monitor`服务

     bash systemctl enable mysql-mmm-monitor systemctl start mysql-mmm-monitor 4.验证集群状态: 在监控服务器上执行`mmm_control show`命令,验证集群状态

    确保所有节点均在线且状态正常

     四、故障测试与恢复 为了验证My

nat123映射怎么用?超详细步骤,外网访问内网轻松搞定
nat123域名怎么用?两种方式轻松搞定
nat123怎么用?简单几步实现内网穿透
内网穿透工具对比:nat123、花生壳与轻量新选择
远程访问内网很简单:用对工具,一“箭”穿透
ngrok下载完全指南:从入门到获取客户端
内网远程桌面软件:穿透局域网边界的数字窗口
从外网远程访问内网服务器的完整方案
Windows Server 2008端口转发完全教程:netsh命令添加/查看/删除/重置
为什么三层交换机转发比Linux服务器快?转发表硬件加速的秘密