一.redis的主从操作流程

  1. 准备三个redis配置文件

#进入redis的配置文件夹,准备好这几个文件,6379不用管,默认的,和这次操作无关
[root@qishi ~]# cd /etc/redis/ [root@qishi redis]# ll
total 80
-rw-r--r--. 1 root root 57774 Apr 20 15:31 6379.conf
-rw-r--r--. 1 root root 183 Apr 20 16:32 6380.conf #主数据库master
-rw-r--r--. 1 root root 206 Apr 20 16:36 6381.conf    #从数据库slave
-rw-r--r--. 1 root root 206 Apr 20 16:36 6382.conf    #从数据slave

  2.写入以下配置

#注意,一下内容指定的路径一定要有,就是说要自己先创建好,否则可能报错
port 6380
daemonize yes
pidfile /etc/redis/data/6380/redis.pid
loglevel notice
logfile "/etc/redis/data/6380/redis.log"
dbfilename dump.rdb
dir /etc/redis/data/6380
protected-mode no

  3.目前这三个配置文件配置一样,我们只需修改端口,让他们的端口不用即可(路径也不一样)

#需要在配置所在的文件夹中操作,同理其他两个配置文件指定路径也要创建好
#可以使用这一条命令通过6380.conf生成6381和6382的配置文件
sed "s/6380/6381/g" 6380.conf > 6381.conf
sed "s/6380/6382/g" 6380.conf > 6382.conf

  4. 在6381和6382下添加以下配置,使之成为从数据库

slaveof 127.0.0.1 6380

#可以使用以下一行命令直接追加写入到两个从库的配置文件中
echo "slaveof 127.0.0.1 6380" >>6381.conf
echo "slaveof 127.0.0.1 6380" >>6382.conf

  

  

  5. 确认三个配置文件无误

  6. 开启这三个redis服务,确保三个服务启动正常

[root@qishi redis]# redis-server /etc/redis/6380.conf
[root@qishi redis]# redis-server /etc/redis/6381.conf
[root@qishi redis]# redis-server /etc/redis/6382.conf

  

  

  7. 查看redis主从数据库的状态

redis-cli -p 6380 info replication
redis-cli -p 6381 info replication
redis-cli -p 6382 info replication

  

  

  

  

  8. 验证redis主从复制情况

    (1)先验证三个数据库是否能正常连接

redis-cli -p 6380
redis-cli -p 6381
redis-cli -p 6382

  

  

  

    ( 2 ) 在6380上面写入数据,查看6381和6382是否能够正常同步

      

      

      

    (3)在从数据库写入数据

      

    

  9. 手动进行主从复制故障切换

    (1) 杀掉6380的进程,模拟主库故障

kill -9 进程ID

  

    (2)在6381和6382上手动指定一个主库(我现在指定6382为主库)

  ( 3 ) 在6382的redis上执行这一行命令

slaveof no one  #去除从库身份

  (4) 在6381上执行以下命令,将原来的指向6380改为指向6382

  原来的配置指向:

  

#去除原来的从库身份并且重新指定主库,要确保要指定的主库已经执行了slaveof no one

slaveof no one
slaveof 127.0.0.1 6382 

   

  (5) 验证新的主从架构状态

    在6382上查看主从信息

    

  (6) 验证新的主从架构是否可以正常写入数据,同步数据

  如果可以,说明主从正常

  

  

  如果想永久生效必须:去修改配置文件

redis的主从同步的更多相关文章

  1. Redis的主从同步复制

    先来看一下Redis的主从同步复制的原理: 在Slave启动并连接到Master之后,它将主动发送一条SYNC命令.此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台 ...

  2. Redis 的主从同步(复制)

    Redis 的主从同步(复制) Redis 的主从同步(复制) 什么是主从同步(复制) 假设有两个 redis 实例 ⇒ A 和 B B 实例的内容与 A 实例的内容保持同步 那么称 A 实例是主数据 ...

  3. Redis的主从同步手动执行故障切换

    1.准备三个redis配置文件,通过端口的区分,启动三个redis数据库实例,然后配置主从复制. # a6371.conf port 6371 daemonize yes pidfile /data/ ...

  4. redis之主从同步

    很多企业都没有使用到 Redis 的集群,但是至少都做了主从.有了主从,当 master 挂掉的时候,运维让从库过来接管,服务就可以继续,否则 master 需要经过数据恢复和重启的过程,这就可能会拖 ...

  5. redis 安装 主从同步 哨兵模式

    一.redis 的安装1.先将安装包放到linux的一个文件夹下面 2.解压压缩包如图所示 3.解压后进入解压文件 4.安装: make 出现it.s a good idea to run 'make ...

  6. 【Redis】主从同步

    Redis提供了主从复制功能,主要是为了保证服务的高可用性.在redis.conf配置文件中通过设置,可以开启主从复制功能.或者在客户端中使用slaveof 命令开启该功能. slaveof < ...

  7. Redis系列之(二):Redis主从同步,读写分离

    1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Maste ...

  8. Redis系列之(二):Redis主从同步,读写分离(转)

    1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Maste ...

  9. Redis之(七)主从同步与集群管理

    8.1 主从同步原理 像MySQL一样,Redis是支持主从同步的,而且也支持一主多从以及多级从结构. 主从结构,一是为了纯粹的冗余备份,二是为了提升读性能,比如很消耗性能的SORT就可以由从服务器来 ...

随机推荐

  1. Red Hat 6.5 Samba服务器的搭建(登录访问)

    搭建Samba服务器是为了实现Linux共享目录之后,在Windows可以直接访问该共享目录. 现在介绍如何在红帽6.5系统中搭建Samba服务. 搭建Samba服务之前,yum源必须配置好,本地源和 ...

  2. [Excel]鼠标右键菜单没有新建Word、Excel、PPT怎么办?

    很多朋友在安装好Office(2010或2013等)之后,发现右键新建中没有Word.Excel.PowerPoint等项,但是自己的Office却明明安装好了.这个时候该怎么办呢?这里,本文为大家提 ...

  3. 修复jqgrid setgridparam postdata 的多次查询条件累加

    //根据elements查询出的参数个数的不同,而传递不同个数的查询参数 start var elements = node.attributes.text.split(","); ...

  4. JavaWeb项目导入MyEclipse后变为JAVA项目项目【解决方法】

    问题描述:之前有个项目是Java web的项目,但是后来我导入到我电脑里的myEclipse里后就变成了Java项目.查找了资料解决了,网上大部分都是说在eclipse里解决这个问题,在myEclip ...

  5. Yii2.0 多语言设置(高级版配置方法) - 新的方法

    1.设置默认语言:在mail.php配置文件加上:'language'=>'zh_CN'; 2.多语言切换 (我这边是在site控制器里面操作的所以用的'/site/language') htm ...

  6. oracle中的表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)

    数据文件和日志文件是数据库中最重要的文件.它们是数据存储的地方.每个数据库至少有一个与之相关的数据文件,通常情况下不只一个,有很多.数据在数据文件中是如何组织的?要了解这些内容我们首先必须理解什么是表 ...

  7. 设计模式21:State 状态模式(行为型模式)

    State 状态模式(行为型模式) 动机(Motivation) 在软件构建过程中,某些对象的状态如果改变,其行为也会随之而发生变化,比如文档处于只读状态,其支持的行为和读写状态的行为就可能完全不同. ...

  8. 关于innerHTML以及html2dom

    使用innerHTML或者insertAdjacentHTML 创建元素的时候能给我们带来很大的方便,为domNode 赋予innerHTML 属性,在插入大量的HTML的时候,使用innerHTML ...

  9. Web环境中Spring的启动过程

    1.spring不但可以在JavaSE环境中应用,在Web环境中也可以广泛应用,Spring在web环境中应用时,需要在应用的web.xml文件中添加如下的配置: …… <context-par ...

  10. 洛谷P4234 最小差值生成树(lct动态维护最小生成树)

    题目描述 给定一个标号为从 11 到 nn 的.有 mm 条边的无向图,求边权最大值与最小值的差值最小的生成树. 输入输出格式 输入格式:   第一行两个数 n, mn,m ,表示图的点和边的数量. ...