mysql-mmm架构详解.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MySQL-mmm架构详解MMM架构介绍1.1 MySQL-MMM概述MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器)关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),这个套件也能对居于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的服务器启动虚拟ip,除此之外,它还有实现数据备份、节点之间重新同步功能的脚本。MySQL本身没有提供replication failover的解决方案,通过MMM方案能实现服务器的故障转移,从而实现mysql的高可用。MMM不仅能提供浮动IP的功能,更可贵的是如果当前的主服务器挂掉后,会将你后端的从服务器自动转向新的主服务器进行同步复制,不用手工更改同步配置。这个方案是目前比较成熟的解决方案。1.2 MySQL-MMM优缺点优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。缺点:Monitor节点是单点,可以结合Keepalived实现高可用。1.3 MySQL-MMM工作原理MMM(Master-Master replication managerfor Mysql,Mysql主主复制管理器)是一套灵活的脚本程序,基于perl实现,用来对mysql replication进行监控和故障迁移,并能管理mysql Master-Master复制的配置(同一时间只有一个节点是可写的)。mmm_mond:监控进程,负责所有的监控工作,决定和处理所有节点角色活动。此脚本需要在监管机上运行。mmm_agentd:运行在每个mysql服务器上的代理进程,完成监控的探针工作和执行简单的远端服务设置。此脚本需要在被监管机上运行。mmm_control:一个简单的脚本,提供管理mmm_mond进程的命令。mysql-mmm的监管端会提供多个虚拟IP(VIP),包括一个可写VIP,多个可读VIP,通过监管的管理,这些IP会绑定在可用mysql之上,当某一台mysql宕机时,监管会将VIP迁移至其他mysql。在整个监管过程中,需要在mysql中添加相关授权用户,以便让mysql可以支持监理机的维护。授权的用户包括一个mmm_monitor用户和一个mmm_agent用户,如果想使用mmm的备份工具则还要添加一个mmm_tools用户。1.4 需求描述1.4.1 系统环境操作系统:CentOS 6.4_X64数据库:MySQL 5.5MMM:MySQL-MMM .2 IP分配数据库分配:functioniphostnameserver idmaster 15M11master 26M22slave 17Slave13monitoring host8monitor4虚拟IP地址(VIP):iprole0writer1reader2reader3reader1.4.3 数据库用户权限数据库同步需要的用户:functiondescriptionprivilegesmonitor usermmm监控用于对mysql服务器进程健康检查REPLICATION ?CLIENTagent usermmm代理用来更改只读模式,复制的主服务器等SUPER, ?REPLICATION CLIENT, PROCESSreplication user用于复制REPLICATION SLAVE1.5 MySQL-MMM架构图MySQL M-M-S同步复制2.1 MySQL安装2.1.1检查系统是否安装过MYSQL# rpm -qa | grep mysql? #如果有,使用以下命令先卸载#yum remove mysql*2.1.2下载MYSQL软件,编译安装,在四台机器上都需要做具体安装步骤见《mysql 5.5安装》2.2DB配置2.2.1 M1配置1) 修改M1的f,确定有以下内容port?= 3306server-id = 1log-bin=mysql-binlog-slave-updatessync_binlog=1auto_increment_increment=2auto_increment_offset=1skip-name-resolve2) 创建mysql复制用户GRANT REPLICATION SLAVE ON *.* TO?slave@192.168.0.%?IDENTIFIED BY slave;flush privileges;2.2.2 M2配置1)修改M2的f,确定有以下内容port = 3306server-id = 2log-bin=mysql-binlog-slave-upd

文档评论(0)

moon8888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档