mysql的主从复制,主要是在工作环境当中防止数据库读写在一台数据库上容易造成负载,实现读写分离就是为了给服务器减轻工作压力,就好比一个人的工作分成了两个人来做,那么人也减轻了压力。而且工作效率也提高了上去。但是要实现读写分离的前提就是主从复制对吧?
master;从服务器为slave。而我们今天带来的和主从复制有点不一样,多用与中小型公司,叫做主主复制。
MySQL从在单点故障的缺陷,如果一旦发生意外,那么将会发生严重的后果,为公司造成严重的损失
MySQL主主复制的原理以及思路:
mysql服务器: 版本5.7
master的配置文件修改内容: vi/etc/my.cnf
MySQL服务
{需注意:}
MySQL服务
binlog状态信息:
master设置为自己的主服务其并且开启slave功能
yes,代表master2正常链接master服务器
master服务器进行配置;
master的主服务器
master2的binlog状态;
master服务器上将master2设置为自己的主服务器并且开启slave功能;
master服务器的状态,一下两个值必须为yes,代表从服务器可以链接主服务器
master服务器也成功了。
master上面创建要同步的数据库tty,并且在tty当中创建一张表tb1
master2上面是否也会存在刚才创建的数据库和表呢?
master上创建的库和表可以同步到master2上面,但是master2上的数据可以同步到master上面去吗?
master2上为tty库中的tb1表中插点数据来验证一下:
master上面是否会有刚才在master2上面插入的两条数据呢?
,
;
MySQL服务互相读写同步,互相备份的结果
MYSQL服务器已经存在,只是后期才搭建从MYSQL服务器,在置配数据同步前应先将主MYSQL服务器的要同步的数据库拷贝到从MYSQL服务器上(如先在主MYSQL上备份数据库,再用备份在从MYSQL服务器上恢复)
mysql的主主复制,但是如果这两台服务器其中有一台突然宕机了该怎麽办呢?这就需要我们的下一个要讲述的环节了,也就是keepalived,实现这两台数据库的负载均衡。如果有其中的一台突然宕机之后那么另外的一台将会接替,保证服务的不间断性。
ARP协议进行组播 发送的,N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip,master会发组播(组播地址为224.0.0.18),当backup收不到vrrp包时就认为master宕掉了,这时就需要根据backup当master
core、check和vrrp
keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。
VRRP协议的
keepalived的功能以及模块,接下来我们开始在两台mysql上都配置keepalived
keepalived软件包与服务控制
Keepalived之前,必须先安装内核开发包kernel-devel以及openssl-devel、popt-devel等支持库。
yum安装:
Keepalived
centos7.2上安装keepalived不需要添加--with-kernel-dir
keepalived服务
make install操作之后,会自动生成/etc/init.d/keepalived脚本文件,但还需要手动添加为系统服务,这样就可以使用service、chkconfig工具来对keepalived服务程序进行管理了。
centos7.2上安装keepalived防火墙的规则配置如下:
keepalived的配置文件:
VIP区域及其相关属性。
keepalived服务
priority,
scp命令把server1主机上配置好的keepalived.参看文件拷贝到server2主机,只要做简单修改即可,如下图所示: