未加星标

MySQL MMM架构搭建

字体大小 | |
[数据库(mysql) 所属分类 数据库(mysql) | 发布者 店小二05 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

基础搭建mysql-3M架构

mysql-mmm-2.2.1.tar.gz

下载地址:

http://mysql-mmm.org/downloads

cpan:会在网上将提供perl模块的这些地址down到本地

配置cpan使用163作为我们的Perl的模块的安装源(国内最快)

就是在perl界面中一直回车,最后会提示选择安装源地区,依次选择到163的(壮哉我大163)

步骤:

perl-MCPAN-e shell o conf init//开始配置,第一个我们选no,然后一路回车下去,直到mirror by这部分,然后选择Asia,China,163的源 o conf commit//保存配置,防止下次启动还需要配置

在命令行中:

install YAML installAlgorithm::Diff installClass::Singleton install DBI install DBD::mysql 注意:在安装这个模块之前,假如是编译安装的mysql,那么需要再开一个窗口: cd/etc/ld.so.conf.d echo"/usr/local/mysql/lib">>/etc/ld.so.conf.d/qt-x86_64.conf//将编译安装的mysql的lib目录路径添加进去 ldconfig//重新导入/etc/ld.so.conf.d里的配置文件,将配置文件中的动态库都加载一下 installFile::Temp installLog::Dispatch installLog::Log4perl installMail::Send installNet::ARP force installNet::Ping//加个force,只安装,不测试(测试会ping国外的服务器) installProc::Daemon installThread::Queue installTime::HiRes

将mysql-mmm-2.2.1.tar.gz 解压,直接make install(别的什么都不用做)

然后去配置 /etc/mysql-mmm/mmm_common.conf

上面步骤三台机器都要做

配置mmm_common.conf vim mmm_common.conf active_master_role writer//主的配置是写 <hostdefault> cluster_interface eth0//在每个节点之上都要指定3M之间互相通信的网卡 pid_path/var/run/mmm_agentd.pid bin_path/usr/lib/mysql-mmm/ replication_user root//此处是指定账号密码,注意是主从的账号密码 replication_password dongsc agent_user mmmagent agent_password mmmagent </host> <host db1>//指定M1 ip172.16.60.90 mode master peer M2//对端名字,填写M2的主机名 </host> <host db2>//指定M2 ip172.16.60.33 mode master peer M1//M1主机名 </host> <host db3>//指定Slave ip172.16.60.32 mode S1 </host> <role writer> hosts M1,M2//表示允许写的主机名 ips172.16.60.91//virtual IP,谁是写角色,此IP在谁上飘着,也就是连到此IP上进行写 mode exclusive//该模式表示在同一时间只允许一个数据库写 </role> <role reader> hosts M2,S1//表示将哪几个机器用于读 ips172.16.60.34,172.16.60.31//此处写两个,假如有个坏掉了,那么两个IP地址会飘在一起 mode balanced </role>

通过虚拟IP这种方式,能够保证IP不用更改,依旧可用

注意:将这个文件cp到所有服务器上,都能用(但是需要注意服务器使用哪个端口通信)

更改每个mmm_agent.conf vim mmm_agent.conf//将里面的this 改为自己的主机名字 [[email protected]]#cat mmm_agent.conf include mmm_common.conf thisTeach-Mysql 前提是在每个服务器上,将三个名字的解析都要写上 [[email protected]]#cat/etc/hosts 127.0.0.1localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.60.90M1 172.16.60.33M2 172.16.60.32S1 然后在monitor机器上配置mmm_mon.conf [[email protected] mysql-mmm]#cat mmm_mon.conf include mmm_common.conf <monitor> ip127.0.0.1 pid_path/var/run/mmm_mond.pid bin_path/usr/lib/mysql-mmm/ status_path/var/lib/misc/mmm_mond.status ping_ips172.16.60.90,172.16.60.33,172.16.60.32//这里写上M1,M2,Slave的真实IP </monitor> <hostdefault> monitor_user mmm_monitor monitor_passwordRepMonitor </host> debug0 每个服务器都启动agent,monitor启动monitor

启动方法:

每一个服务器启动agent

/etc/init.d/mysql-mmm-agent start

monitor服务器启动monitor

/etc/init.d/mysql-mmm-monitor start

假如启动报错,提示少pm文件,那么看前面的名字,就是前面的模块少装了

那么当配置完成之后,所有的数据库需要自己启动起来

状态

mysql-mmm有6种状态

1.online 2.admin_offline 3.hard_offline 4.awaiting_recovery 5.replication_delay 6.replication_fail 各种状态的转换如下: 1.online状态是正常的状态,可以充当各种角色. 2.admin_offline是手动下线的状态 3.复制延迟会导致replication_delay状态 4.复制中断(sql_thread,io_thread)会导致replication_fail状态 5.从replication_delay或者replication_fail状态可以直接恢复到online状态,除非主机被设置为抖动. 6.ping不通并且(或者)mysql连接中断,会导致hard_offline状态. 7.如果能ping通,并且mysql连接状态正常,则会变成为awaiting_recovery状态. 8.两种情况可以从awaiting_recovery状态转变为online状态: a.故障时间少于60秒并且没有重启过. b.设置了auto_set_online>0(抖动状态除外)

此处注意时间需要同步,同步时间命令:

ntpdate time.windows.com 需要注意的地方:

1.M1,M2的配置文件中,必须设置

log_slave_updates=1 read_only=on auto_increment_increment=2 M1: auto_increment_offset=1 M2: auto_increment_offset=2//自增长字段的起始值

2.所有的配置文件中必须设置:

read_only=on

3.一定要注意时间问题:

ntpdate time.windows.com

4.假如没有手动配置auto_set_online

当mmm_mon.conf文件的auto_set_online 10参数设置小于60时,db1和db2,mysql服务停止启动切换时,不会出现AWAITING_RECOVERY状态,只要mysql服务启动即会自动切换到online状态,但是当配置参数等于或者大于60时,即会出现AWAITING_RECOVERY,所以需要手动启动,

mmm_control set_online db1

即可修改db1为在线online状态

5.注意在mmm_commom.conf 文件中,replication_user确定是主从复制的用户

6.确定新建的用户在每个服务器中都能够用主机名来连接成功

7.在执行/

etc/init.d/mysql-mmm-agent stop

的时候,可能不会讲进程完全杀死,那样再重启进程的时候,log会出现Can't create socket!,此时应当kill 干净

在做所有的主从时,change master to 全部使用IP地址,不能使用主机名 在编辑mmm_common.conf文件时,确认双主互相对应

本文地址 : http://www.linuxidc.com/Linux/2016-10/136117.htm

本文数据库(mysql)相关术语:navicat for mysql mysql workbench mysql数据库 mysql 存储过程 mysql安装图解 mysql教程 mysql 管理工具

主题: 服务器MySQLSQLPerlLinux数据RYTI数据库
分页:12
转载请注明
本文标题:MySQL MMM架构搭建
本站链接:http://www.codesec.net/view/484593.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 数据库(mysql) | 评论(0) | 阅读(42)