一.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. 有一个5ml 的瓶子 和3ml 的瓶子 和 很多水 现在 要取出4ml的水 请写出编程 多种解法

    //TODO public class demo { public static void main(String[] args) { demo.ss(); demo.sss(); } public ...

  2. PHP json_encode中文unicode转码问题

    用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式,如果想汉字不进行转码,这里提供三种方法 1.升级PHP,在PHP5.4, 这个问题终于得 ...

  3. maven添加阿里仓库

    1.修改settings.xml 在maven的settings.xml 文件里配置mirrors的子节点,添加如下mirror <mirror> <id>nexus-aliy ...

  4. (转)unordered_map与map的对比(C++11新特性)

    unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value.不同的是unordered_map不会根据key的大小进行排序, 存储时是根据key的ha ...

  5. charCodeAt方法以及Unicode中文汉字编码范围

    js的charCodeAt() 方法可返回指定位置的字符的 Unicode 编码.这个返回值是 0 - 65535 之间的整数. 在字符串 "Hello world!" 中,我们将 ...

  6. C# chart.DataManipulator.FinancialFormula()公式的使用 线性回归预测方法

    最近翻阅资料,找到 chart.DataManipulator.FinancialFormula()公式的使用,打开另一扇未曾了解的窗,供大家分享一下. 一 DataManipulator类 运行时, ...

  7. PatternLayoutEncoder 输出格式

    ch.qos.logback.classic.encoder.PatternLayoutEncoder ch.qos.logback.classic.PatternLayout ch.qos.logb ...

  8. Python 3 Mysql 增删改查

    import pymysql import datainfo import time #获取参数 host = datainfo.host username = datainfo.username p ...

  9. 【小梅哥FPGA进阶教程】第十二章 数字密码锁设计

    十二.数字密码锁设计 本文由山东大学研友袁卓贡献,特此感谢 实验目的 实现数字密码锁设计,要求矩阵按键输出且数码管显示输入密码,密码输入正确与否均会有相应标志信号产生. 实验平台 芯航线FPGA核心板 ...

  10. Gym - 100989G (二分法)

    There are K hours left before Agent Mahone leaves Amman! Hammouri doesn't like how things are going ...