本文主要给大家介绍mysql-mmm主主复制定义与解析,希望开发云主机域名可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在开发云行业资讯里面关注我的更新文章的。mysql-MMM主主复制MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序,主要管理双主复制,而实际上在应用中只有一个主负责写的操作,另一台待机冗余,或者负责读的一部分操作。还可以结合主从复制,分离读写请求。mmm分为agent端和monitor端,agent端部署在数据库节点上,monitor部署在监控管理端。monitor在整个数据库集群中是唯一存在的单点故障的点,因为monitor端只复制监控和管理agent节点,任务量非常的轻,一般不会出现什么故障的,而且monitor端在为agent数据库云服务器分配完vip地址后,即使停止了monitor服务,也不会影响业务的,只需要及时的修复即可。实在不放心可以为monitor部署keepalived.
环境
数据库角色,和对应vip:
修改主机名:依次修改m1 m2 m3 m4 monitor
分别在m1 – m4 安装mysql服务:
修改m1的mysql主配置文件:启动mysql服务,查看是否启动tcp000.0.0.0:33060.0.0.0:*LISTEN1359/mysqld 将mysql的主配置文件同步到m2、m3、m4服务器上登陆数据库查看该数据库的bin-log文件名和偏移量:记下File Position的信息,等会要在m1-m2-m3数据库上用到。
授权允许复制更改m2数据库配置文件这是m1服务器同步过来的配置文件,只需将server-id改了就可以了,server-id在mysql集群中是唯一的标识符,在这里以ip地址结尾定义了
启动登入数据库在m2上查看bin-log文件和偏移量记录下来,并授权用户复制权限在m1上添加另一个主m2 同步数据指定完了以后启动同步查看同步状态信息:这两项都为yes算是成功了
Slave_IO_Running: Yes
Slave_SQL_Running: Yes在m2上添加m2的另一个主m1:验证:在m1和m2上各创建个库验证是否同步: m1上创建
m2上查看m2上新建库m1上查看正常同步了。
在m3-m4从数据库上指定主的数据库安装mysql-mmm:下载epel扩展yum源: 在所用服务器上执行安装mmm软件: 在所有服务器上执行
授权: 在m1上授权,其他主机会自动同步权限修改配置文件: mmm_common.conf(所有节点的通用配置文件)[root@monitor ~]# vi /etc/mysql-mmm/mmm_common.conf同步配置文件到m1 m2 m3 m4 上:修改数据库mysql-m1到mysql-m4:启动服务:m1-m4的mmm-agent服务; 监控端的mmm-monitor服务
查看各代理数据库状态##发现写的请求交给db1的vip,读的请求交给db3 db4 vip使用vip登录数据库:先在m1上授权:因为设置了同步,只在一个数据库上授权,其他数据库会同步权限
登陆读的数据库:在生产环境中,只需在应用服务器上,指定写数据的vip地址,和读数据的vip地址池即可。测试:模拟主服务器m1故障,将mysql停止了,再查看状态:再把m1启动模拟从数据库m3故障,将数据库mysql停止查看状态,再启动查看状态此时会将读数据库db3的vip转移到db4;db4暂时负责读的操作
在db3数据库恢复正常后,vip会转移回来,从新工作接受读的操作
看了以上关于mysql-mmm主主复制定义与解析,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。
前言:我们在创建数据库用户的时候都会指定host,即一个完整的用户可描述为 ‘username’@’host’ 。创建用户时不显式指定host则默认为%,%代表所有ip段都可以使用这个用户,我们也可以指定host为某个ip或ip段,这样会仅允许在指定的ip主机…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。