MySQL高可用系列之MMM.docx_第1页
MySQL高可用系列之MMM.docx_第2页
MySQL高可用系列之MMM.docx_第3页
MySQL高可用系列之MMM.docx_第4页
MySQL高可用系列之MMM.docx_第5页
免费预览已结束,剩余32页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MySQL高可用系列之MMMMySQLMMM是一套基于perl语言编写的脚本程序,通过不同的脚本实现对MySQL服务器及之间复制的管理与维护。一 概述MySQLMMM是Master-Master replication manager for Mysql的缩写,仅仅是一套MySQL复制的管理程序,本身并不具备任何MySQL服务功能。1. 简介在MySQLMMM集群环境中,典型的应用架构有两种:一是MasterMaster,即双主复制结构;二是MasterMasterSlave,即双主多从复制结构。MySQLMMM脚本就是用来管理、监控这些MySQL Replication的,不但允许主备Master之间来回切换,当复制出现问题时,可以执行故障迁移操作。对于MySQL MasterMaster双主复制的配置,在复制相关文档中,提到了几种情况,其中一种情况就是人为地控制节点的写操作,保证同一时间内,只允许一个节点对外提供写操作,以此来避免冲突。MySQL-MMM就是采用的这种方式,它通过绑定一个VIP来控制,VIP只能绑定到活动Master节点上,而将备用Master节点通过read_only参数设置为只读,所有应用程序都是通过这个VIP来访问数据库的,因此同一时间段内,只有一个节点对外提供写服务。对于多个Slave实例,附带的工具套件还可实现Read操作的负载均衡,从而大大提供读操作性能。运行过程中,当检查到某一台MySQL Server处于不可用状态,MMM还可以将原有的操作请求转移到其它可用节点上,从而实现服务的高可用性;这包括写操作的转移(主备Master之间),读操作的转移(多个Slave之间),以及多个Slave实例的Master转换等。当发现某一台Slave Server的数据延迟较高,达到设定的阀值时,还可还可松绑其绑定的VIP,以此屏蔽该节点,暂停对外服务。另外,MySQL-MMM还提供了一套很好用的运维管理工具,可以实现简单快捷的数据库备份与维护,简化日常维护成本。2. 架构可以从下面几个方面来大致了解一下MySQLMMM集群环境的架构。(1) 脚本MySQL-MMM程序主要包括如下三个脚本,其所有管理功能也是通过它们实现的。l mmm_mond监控进程,负责所有的监控工作,决定和处理所有节点的角色活动,运行在监控服务器上。l mmm_agentd 代理进程,完成实际的监控工作,以及执行简单的远端服务设置,需要运行在每一个被监管的MySQL Server服务器上。l mmm_control这是一个简单的控制脚本,它提供了管理mmm_mond进程的相关命令。(2) VIP可以说MySQLMMM集群的所有高可用功能(故障转移、负载均衡)都是基于虚拟IP(VIP)来实现的,VIP由监控端提供,包括一个可写的VIP和多个只读的VIP。l 可写VIP绑定到活动Master服务器上,此时备用Master服务器为只读,应用程序通过这个VIP访问读写数据;当监测到活动Master故障不可用时,将这个VIP转移到备用Master服务器上,并取消只读限制,以此实现故障转移功能,此时备用Master就成了活动Master。l 只读VIP绑定到一个或多个Slave服务器,以及备用Master上,对外提供只读服务;并可实现负载均衡,从而提高读操作性能。当监测到某一台服务器故障不可用,或数据延迟达到设定的阀值时,则松绑该VIP,以此屏蔽该节点,暂停服务。(3) 用户整个MySQLMMM集群环境中,存在如下三个用户,它们需要拥有不同的权限。l mmm_monitor这个用户在MMM Monitor服务器上使用,需要授予Replication Client权限,这个权限允许从监控服务器执行show master status和show slave status命令,以便查看Master、Slave实例的状态。l mmm_agent这个用户在所有MMM Agent服务器上使用,拥有SUPER、Replication Client、PROCESS权限。l mmm_tolls这个是MMM备份工具专用的账户,若想使用MMM备份工具,则需创建这个账户,需拥有SUPER、Replication Client、RELOAD权限。注:关于MMM Tools,由于篇幅限制,将单独介绍。二 部署前面提到,MySQLMMM集群的典型应用架构有两种:一是MasterMaster,即双主复制结构;二是MasterMasterSlave,即双主多从复制结构,下面以这两种架构为例,介绍其搭建步骤。环境:OS:CentOS 5.8 (x86_64) 内核:2.6.18-308.el5 DB:MySQL 5.5.17(一) 架构:MasterMaster 这套架构需要三台服务器(节点),一台用于MMM Monitor,配置没有特别要求,只用作监控服务器;另外两台则分别用作主、备Master,其上运行MySQL实例,对外提供数据库访问服务,所以配置要求相对较高,需满足数据库服务器的要求。服务器规划如下:HostnamePublic IPReader VIPWriter VIP用途node1770活动Masternode288备用Mastermmm6监控服务器说明:此时,整个MMM架构除监控服务器外,共使用5个IP,两个固定IP,两个reader IP(read-only)和一个writer IP;活动的Master同时绑定Reader VIP和Writer VIP,备用Master只绑定Reader VIP,如果活动的Master故障了,则所有的reader和writer虚拟IP均被分配给备用的Master。搭建步骤如下:1. 准备工作在开始安装、部署MySQLMMM之前,需要执行如下准备工作。搭建MySQL双主复制分别在节点node1、node2上安装MySQL,并配置MasterMaster双向复制,复制级别为整个实例,复制模式为Mixed,具体操作参考MySQL复制相关文档,此处不再描述。注意:不管是活动Master,还是备用Master,还是Slave,都需要设置read_only参数为1,即设置为只读,MySQLMMM自身会将活动Master修改为read_only为0,以此来控制节点的写操作。配置hosts文件解析由于各个节点之间要相互通信,所以需要将监控服务器及所有被监控服务器的IP主机名信息添加到所有机器的/etc/hosts文件中,以保证解析问题,如下:# vi /etc/hosts# Do not remove the following line, or various programs# that require network functionality will fail. localhost.localdomain localhost7 node18 node26 mmm2. 安装MySQLMMMMySQLMMM的安装操作包括如下两个步骤:安装依赖包MySQL-MMM脚本是基于perl开发的,所以安装使用MySQL-MMM需要如下一些perl依赖包。perl libart_lgpl perl-DateManip perl-XML-DOM perl-XML-DOM-XPath perl-XML-Parser perl-XML-RegExp perl-Class-Singleton perl-Params-Validate perl-MailTools perl-Time-HiRes perl-Algorithm-Diff perl-Log-Dispatch perl-Log-Log4perl perl-Net-ARP perl-Proc-Daemon perl-Proc-ProcessTable perl-DBI MySQL-shared-compat perl-DBD-MySQL说明:上面这些依赖包是通过网上文档(redhat系统)整理的,而在实际安装中只用到了如下几个包,可能是OS系统环境(Centos 5.8)不一样吧。perl libart_lgpl perl-Class-Singleton perl-Algorithm-Diff perl-Log-Log4perl perl-Net-ARP perl-Proc-Daemon perl-DBI MySQL-shared-compat perl-DBD-MySQL其中:perl-Class-Singleton是监控服务器所必须的,该包之外的所有包在所有服务器上均需安装。检查以下依赖包是否安装,若没有安装则安装之# rpm -q perl libart_lgpl perl-Class-Singleton perl-Algorithm-Diff perl-Log-Log4perl perl-Net-ARP perl-Proc-Daemon perl-DBI MySQL-shared-compat perl-DBD-MySQLrpm -ivh perl-5.8.8-38.el5.x86_64.rpmrpm -ivh libart_lgpl-2.3.17-4.x86_64.rpmrpm -ihv perl-Class-Singleton-1.4-1.el5.rf.noarch.rpmrpm -ivh perl-Algorithm-Diff-1.1902-1.el5.rf.noarch.rpmrpm -ivh perl-Log-Log4perl-1.26-1.el5.rf.noarch.rpmrpm -ivh perl-Net-ARP-1.0.6-1.el5.rf.x86_64.rpmrpm -ivh perl-Proc-Daemon-0.03-1.2.el5.rf.noarch.rpmrpm -ivh perl-DBI-1.52-2.el5.x86_64.rpmrpm -ivh MySQL-shared-compat-5.5.17-1.rhel5.x86_64.rpmrpm -ivh perl-DBD-MySQL-3.0007-2.el5.x86_64.rpm安装MySQLMMM软件包可从MySQLMMM官网下载合适的安装包,本示例采用mysql-mmm-2.2.1.tar.gz,如下:# wget /_media/:mmm2:mysql-mmm-2.2.1.tar.gz# mv :mmm2:mysql-mmm-2.2.1.tar.gz mysql-mmm-2.2.1.tar.gz# tar xvf mysql-mmm-2.2.1.tar.gz # cd mysql-mmm-2.2.1# make install输入信息如下:mkdir -p /usr/lib/perl5/vendor_perl/5.8.8/MMM /usr/lib/mysql-mmm /usr/sbin /var/log/mysql-mmm /etc /etc/mysql-mmm /etc/init.d/cp -r lib/Common/ /usr/lib/perl5/vendor_perl/5.8.8/MMM -f /etc/mysql-mmm/mmm_common.conf | cp etc/mysql-mmm/mmm_common.conf /etc/mysql-mmm/mkdir -p /usr/lib/mysql-mmm/agent/cp -r lib/Agent/ /usr/lib/perl5/vendor_perl/5.8.8/MMMcp -r bin/agent/* /usr/lib/mysql-mmm/agent/cp -r etc/init.d/mysql-mmm-agent /etc/init.d/cp sbin/mmm_agentd /usr/sbin -f /etc/mysql-mmm/mmm_agent.conf | cp etc/mysql-mmm/mmm_agent.conf /etc/mysql-mmm/mkdir -p /usr/lib/mysql-mmm/monitor/cp -r lib/Monitor/ /usr/lib/perl5/vendor_perl/5.8.8/MMMcp -r bin/monitor/* /usr/lib/mysql-mmm/monitor/cp -r etc/init.d/mysql-mmm-monitor /etc/init.d/cp sbin/mmm_control sbin/mmm_mond /usr/sbin -f /etc/mysql-mmm/mmm_mon.conf | cp etc/mysql-mmm/mmm_mon.conf /etc/mysql-mmm/mkdir -p /usr/lib/mysql-mmm/tools/cp -r lib/Tools/ /usr/lib/perl5/vendor_perl/5.8.8/MMMcp -r bin/tools/* /usr/lib/mysql-mmm/tools/cp sbin/mmm_backup sbin/mmm_clone sbin/mmm_restore /usr/sbin -f /etc/mysql-mmm/mmm_tools.conf | cp etc/mysql-mmm/mmm_tools.conf /etc/mysql-mmm/安装操作很简单,从输入信息来看,安装过程其实就是创建一些固定的目录,并将所需的文件脚本拷贝进去。目录结构及文件简介 MySQL-MMM使用的目录及存放文件简单介绍如下:/usr/lib/perl5/vendor_perl/5.8.8/MMM MMM使用的perl模块/usr/lib/mysql-mmm MMM的脚本插件/usr/sbin MMM的命令存放路径/var/log/mysql-mmm MMM的日志存放路径/etc MMM配置文件存放路径/etc/mysql-mmm MMM配置文件存放路径,优先级比/etc/高/etc/init.d/ agentd和monitor的启动关闭脚本3. 配置MySQLMMMMySQLMMM成功安装后,会在/etc/mysql-mmm/目录中生成如下几个配置文件模板,从名字就可看出每个配置文件的作用。# cd /etc/mysql-mmm/# lsmmm_agent.conf mmm_common.conf mmm_mon.conf mmm_tools.conf说明:mmm_tools.conf这个配置文件是使用MySQL-MMM套件工具时才需要配置,本例暂不配置。接下来,我们逐一配置这几个文件;在配置之前,需要在MySQL实例中创建几个所需用户,并赋予适当的权限,步骤如下:创建特权用户由于两台数据库服务器已经搭建了MasterMaster双主复制,所以只需在一个节点操作即可,它会自动同步到另外一个节点。mysql grant replication client on *.* to mmm_monitor% identified by mmm_monitor_pwd;mysql grant super,replication client,process on *.* to mmm_agent% identified by mmm_agent_pwd;mysql grant super,replication client,reload on *.* to mmm_tools% identified by mmm_tools_pwd;注:关于这些用户的作用及所需权限上面已经介绍过,不再累述;mmm_tools这个账户专用于MMM Tools套件工具,此处也可不用配置。 配置mmm_common.conf 这是一个通用配置文件,其它配置文件可直接引用它,要求在所有服务器上配置,并需保持一致。# vi mmm_common.conf active_master_role writer 设置活动Master实例为可写设置集群环境的网络接口(VIP绑定的网卡),MySQL复制采用的账户,以及MMM代理账户。cluster_interface eth0pid_path /var/run/mmm_agentd.pidbin_path /usr/lib/mysql-mmm/replication_user replreplication_password repl_pwdagent_user mmm_agentagent_password mmm_agent_pwd设置主备两个Master实例的IP、角色及其备用Master,因为互为主备,所以peer指向对方。ip 7mode masterpeer node2ip 8mode masterpeer node1设置Slave实例的IP及角色,每个设置项代表一个Slave服务器,可设置多个。#ip 5#mode slave#设置可写角色对应的主机、VIP及模式hosts node1, node2ips 0mode exclusive设置只读角色对应的主机、VIP及模式hosts node1, node2ips 7, 8mode balanced配置完成后,将其拷贝到其它节点的相同位置,因为所有节点都需要这个配置文件。配置mmm_mon.conf 监控配置文件,只需在监控服务器上配置即可,但如若要在其它被监控机器上运行mmm_control命令,则也许配置,因为该命令依赖于这个配置文件。#vi mmm_mon.conf include mmm_common.conf设置监控服务器的IP、PID/BIN/STATUS文件的路径,以及被监控节点的IPip 6pid_path /var/run/mmm_mond.pidbin_path /usr/lib/mysql-mmm/status_path /var/lib/misc/mmm_mond.statusping_ips 7, 8设置监控所需的MySQL数据库账户及密码monitor_user mmm_monitormonitor_password mmm_monitor_pwddebug为调试所用,缺省为0,调试期间可设置为非零值debug 0配置mmm_agent.conf代理服务器上的配置文件,要求在所有被监控的代理服务器上配置,监控服务器则无需配置。该文件非常简单,除了直接引用通用配置文件外,就是通过this参数标识自己是通用配置文件中的哪个节点(注意:不同的节点this参数值不同哦)。# vi mmm_agent.conf include mmm_common.confthis node14. 启动MySQLMMMMySQLMMM安装、配置完成后,就可逐一启动服务,最好先启动代理服务,后启动监控服务,如下:分别启动node1、node2上的agent服务rootnode1 # /etc/init.d/mysql-mmm-agent startrootnode2 # /etc/init.d/mysql-mmm-agent startDaemon bin: /usr/sbin/mmm_agentdDaemon pid: /var/run/mmm_agentd.pidStarting MMM Agent daemon. Ok启动mmm上的monitor服务并查看集群节点状态rootmmm # /etc/init.d/mysql-mmm-monitor startDaemon bin: /usr/sbin/mmm_mondDaemon pid: /var/run/mmm_mond.pidStarting MMM Monitor daemon: Okrootmmm # mmm_control shownode1(7) master/AWAITING_RECOVERY. Roles: node2(8) master/AWAITING_RECOVERY. Roles:此时发现两个节点均未AWAITING_RECOVERY状态,这是因为需要手动将节点置为on_line状态,如下:rootmmm # mmm_control set_online node1rootmmm # mmm_control set_online node2此时再次查看,两个节点均变成了ONLINE状态,VIP也都绑定了rootmmm # mmm_control show node1(7) master/ONLINE. Roles: reader(7), writer(0) node2(8) master/ONLINE. Roles: reader(8)(二) 架构:MasterMasterSlave(一台或多台)这一部分我们来扩展上面的MasterMaster架构,为其添加Slave服务器,可以是一台,也可以是多台,本例只是为了学习,所以只添加一个Slave实例。 服务器规划如下:HostnamePublic IPReader IPWriter IP用途node1770活动Masternode288备用Mastermmm6监控服务器node355Slave从库操作步骤如下:1. 准备工作搭建MySQL主从复制在node3上安装MySQL,然后配置MasterSlave单向主从复制,具体操作可参考MySQL复制相关文档,此处不做讲述。注意:这里有一点需要特别说明,Slave数据库node3选择谁作为其Master呢?选择唯一的Writer VIP(0)吗?因为这个VIP永远在线并且唯一,其实这是错误的,因为node1、node2上的主备Master实例的binlog是各自独立的,每个实例的master_log_file及master_log_pos并不是一致;而其它Reader VIP显然也不可选。剩下的只有主备Master服务器的真实IP,选node1还是node2呢?其实这是无所谓的,因为MySQL-MMM的Writer角色会自动转移,当然前提是成功配置了MySQL-MMM,所以我们选择当前拥有Writer角色的服务器(比如:node1)的真实IP作为Slave的主来配置主从复制(这个问题,我们会在测试环节来测试验证)。配置hosts文件解析在所有服务器的/etc/hosts文件中添加Slave节点的IP主机名属性对,如下:# vi /etc/hosts# Do not remove the following line, or various programs# that require network functionality will fail. localhost.localdomain localhost7 node18 node26 mmm5 node32. 安装配置MySQLMMM在新的Slave节点上安装MySQLMMM,具体步骤同上,此处不再累述。MySQLMMM所需特权用户已经在Master实例创建,MySQL复制会自动将这些用户复制过来,所以此处也无需创建。接下来就是修改各个配置文件,将新的Slave节点添加进去,如下:配置mmm_common.conf通用配置文件主要是配置Slave实例节点,并将该节点添加到role reader项中;配置完成后,将该文件拷贝到其它所有节点上,并要求该文件在所有节点上保持一致,如下:# vi mmm_common.conf这里描述Slave从库信息,设置其IP与mode角色 ip 5 mode slave此处将新搭建的Slave从库的hosts及VIP添加进去 hosts node1,node2,node3 ips 7,8,5 mode balanced配置mmm_mon.conf监控配置文件修改监控服务器上的监控配置文件,将新搭建的Slave从库的固定IP添加到监控列表中(红色字体),其实不添加也无所谓,因为监控配置文件引用通用配置文件,而通用配置文件中已定义了Slave库的信息,会继承使用。rootmmm #vi mmm_mon.conf include mmm_common.confip 6pid_path /var/run/mmm_mond.pidbin_path /usr/lib/mysql-mmm/status_path /var/lib/misc/mmm_mond.statusping_ips 7, 8, 5配置mmm_agent.conf代理配置文件这个只需在新搭建的Slave实例节点上配置,用this参数标识自己主机名称即可。rootnode3 # vi mmm_agent.conf include mmm_common.confthis node33. 启动mmm-agentd代理 node3上的MySQL-MMM安装配置完毕后,通过如下命令启动代理守护进程:rootnode3 # /etc/init.d/mysql-mmm-agent startDaemon bin: /usr/sbin/mmm_agentdDaemon pid: /var/run/mmm_agentd.pidStarting MMM Agent daemon. Ok 启动后,在监控机上通过命令查看,发现并没有新添加的node3服务器信息,这是因为需要重启监控守护进程,方可重新读取配置文件的信息,如下:rootmmm # /etc/init.d/mysql-mmm-monitor restartrootmmm # mmm_control show node1(7) master/ONLINE. Roles: reader(8), writer(0) node2(8) master/ONLINE. Roles: reader(5), reader(7) node3(5) slave/AWAITING_RECOVERY. Roles: 将node3设置为ONLINE状态,如下:rootmmm # mmm_control set_online node3OK: State of node3 changed to ONLINE. Now you can wait some time and check its new roles!rootmmm # mmm_control show node1(7) master/ONLINE. Roles: reader(8), writer(0) node2(8) master/ONLINE. Roles: reader(7) node3(5) slave/ONLINE. Roles: reader(5)rootmmm # mmm_control checks allnode2 ping last change: 2011/07/11 15:45:47 OKnode2 mysql last change: 2011/07/11 15:45:47 OKnode2 rep_threads last change: 2011/07/11 15:45:47 OKnode2 rep_backlog last change: 2011/07/11 15:45:47 OK: Backlog is nullnode3 ping last change: 2011/07/11 15:45:47 OKnode3 mysql last change: 2011/07/11 15:45:47 OKnode3 rep_threads last change: 2011/07/11 15:45:47 OKnode3 rep_backlog last change: 2011/07/11 15:45:47 OK: Backlog is nullnode1 ping last change: 2011/07/11 15:45:47 OKnode1 mysql last change: 2011/07/11 15:45:47 OKnode1 rep_threads last change: 2011/07/11 15:45:47 OKnode1 rep_backlog last change: 2011/07/11 15:45:47 OK: Backlog is null 至此我们成功将两节点的MasterMaster结构改造成了两个Master+一个Slaves的结构(添加多个Slaves的步骤亦如此),并且运行正常。三 测试上面成功搭建了一套MySQL-MMM典型应用环境,下面我们来测试一下其功能。1. 测试集群的写操作不管是两个Master,还是Slave,都需在参数文件中配置read-only = 1,即开启只读限制。MySQL-MMM会根据Writer角色的转换来控制这个限制,对于拥有Writer角色的活动Master实例,通过命令取消这个限制,以此来保证整个集群中同一时间段内只有唯一的数据库可写。通过如下命令查看当前哪个节点拥有Writer角色:rootmmm # mmm_control show node1(7) master/ONLINE. Roles: reader(5), writer(0) node2(8) master/ONLINE. Roles: reader(8) node3(5) slave/ONLINE. Roles: reader(7) 从上可以看出,当前拥有Writer角色的是node1,此时通过show variables like read_only;命令检查发现它的read_only是OFF状态,而其它数据库均为ON,即不可写。手动进行一次活动Master切换,使Writer角色转移到node2上。rootmmm # mmm_control move_role writer node2OK: Role writer has been moved from node1 to node2. Now you can wait some time and check new roles info!rootmmm # mmm_control show node1(7) master/ONLINE. Roles: reader(7) node2(8) master/ONLINE. Roles: reader(5), writer(0) node3(5) slave/ONLINE. Roles: reader(8)转换后,发现可写VIP转移到了节点node2上;再次查看各个数据库实例的read_only参数设置,发现node2的read_only参数值变成了OFF状态,即取消了只读限制,允许执行写操作了;此时其它数据库实例的read_only参数值变成了ON,即为只读状态,不可执行写操作。 有此可见,MySQL-MMM是通过这个机制来控制活动Master的,只有绑定了Writer VIP的数据库才拥有Writer角色,具有可写功能(当然Slave数据库只读功能是永远开启);通过一个非特权用户实际操作亦是如此(超级用户可越过此限制,所以要用普通用户测试),此处不记录了。2. 活动Master故障切换功能活动Master实例的切换,其实就是Writer角色的切换,上面的测试是通过命令手动切换的,属于正常切换;下面我们来模拟几种故障,看Writer角色是否会自动切换。(1) 网卡与网络故障 现在node1拥有Writer角色,停掉node1的eth0对外服务的网卡,模拟网卡与网络故障rootmmm # mmm_control show node1(7) master/ONLINE. Roles: reader(5), writer(0) node2(8) master/ONLINE. Roles: reader(8) node3(5) slave/ONLINE. Roles: reader(7)rootnode1 # ifconfig eth0 down网卡eth0停止后,再次查看集群状态,提示node1上的代理无法连通,node1的状态变成了HARD_OFFLINE(主机不在线,此时ping或mysql检查失败),Writer角色自动切换到了node2上。rootmmm # mmm_control show# Warning: agent on host node1 is not reachable node1(7) master/HARD_OFFLINE. Roles: node2(8) master/ONLINE. Roles: reader(5), writer(0) node3(5) slave/ONLINE. Roles: reader(7), reader(8)重新激活node1的网卡eth0后,再次查看集群状态,此时代理已可以连通,但node1的状态变成了AWAITING_RECOVERY(主机等待恢复在线),需要手动设置为ONLINE状态。rootnode1 # ifconfig eth0 uprootmmm # mmm_control show node1(7) master/AWAITING_RECOVERY. Roles: node2(8) master/ONLINE. Roles: reader(5), writer(0) node3(5) slave/ONLINE. Roles: reader(7), reader(8)rootmmm # mmm_control set_online node1OK: State of node1 changed to ONLINE. Now you can wait some time and check its new roles!(2) 实例故障现在node2拥有Writer角色,停止其上的mysql数据库服务,模拟数据库故障rootnode2 # service mysql stopShutting down MySQL. OK 此时查看集群状态,发现Writer角色自动切换到了node1上,而node2变成了HARD_OFFLINE状态。rootmmm # mmm_control show node1(7) master/ONLINE. Roles: reader(8), writer(0) node2(8) master/HARD_OFFLINE. Roles: node3(5) slave/ONLINE. Roles: reader(5), reader(7)重新启动node2上的MySQL实例后,状态则变成AWAITING_RECOVERY,同样需手动设置ONLINE状态;但需要说明一点的是:对于实例故障,若不手动将其设置为ONLINE状态,则等待片刻后,MySQLMMM也可能会自动将其设置为ONLINE状态。rootnode2 # service mysql startStarting MySQL. OK rootmmm # mmm_control show node1(7) master/ONLINE. Roles: reader(8) node2(8) master/ONLINE. Roles: reader(5), writer(0) node3(5) slave/ONLINE. Roles: reader(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论