配置环境

在已有的一主多从的基础上改变结构为主从从
已有一主多从https://blog.csdn.net/qq_44659804/article/details/126323971?spm=1001.2014.3001.5502

节点 IP地址
master 192.168.44.144
slave1 192.168.44.145
slave2 192.168.44.146

改变为主从从
改变原来的slave1 192.168.44.145,使其拥有两种角色,即使192.168.44.144的从服务器,又是192.168.44.146的主服务器
改变原来的slave2 192.168.44.146,使其为192.168.44.145的从服务器

主从从

master 192.168.44.144
slave(master) 192.168.44.145
slave01 192.168.44.146

恢复192.168.44.146为独立的数据库前状态

恢复前查看192.168.44.146状态

角色为192.168.44.144的从服务器

[root@redis_s2 ~]# redis-cli -h 192.168.44.146 -p 6379
192.168.44.146:6379> info replication
# Replication
role:slave
master_host:192.168.44.144
master_port:6379
master_link_status:up
master_last_io_seconds_ago:4
master_sync_in_progress:0
slave_repl_offset:1610
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:0d387793eec1ce8aced7814350148fef9567edf3
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1610
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1610

恢复前查看master 192.168.44.144的状态

有两个从服务器

[root@redis_m ~]# redis-cli -h 192.168.44.144 -p 6379
192.168.44.144:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.44.145,port=6379,state=online,offset=308,lag=0
slave1:ip=192.168.44.146,port=6379,state=online,offset=308,lag=0
master_replid:0d387793eec1ce8aced7814350148fef9567edf3
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:308
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:308

恢复192.168.44.146为独立的数据库

192.168.44.146角色是master,从服务器为0

192.168.44.146:6379> slaveof no one
OK
192.168.44.146:6379> info replication
# Replication
role:master
connected_slaves:0
master_replid:561e5d907e49ce879849e10d15fbcb0ac9fe766d
master_replid2:0d387793eec1ce8aced7814350148fef9567edf3
master_repl_offset:2170
second_repl_offset:2171
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:2170

再次查看master 192.168.44.144状态

只有一个从服务器
192.168.44.144:6379> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.44.145,port=6379,state=online,offset=2520,lag=1
master_replid:0d387793eec1ce8aced7814350148fef9567edf3
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:2520
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:2520

设置192.168.44.146为

192.168.44.145的从服务器

设置前查看192.168.44.145的状态为从

[root@redis_s1 ~]# redis-cli -h 192.168.44.145 -p 6379
192.168.44.145:6379> info replication
# Replication
role:slave
master_host:192.168.44.144
master_port:6379
master_link_status:up
master_last_io_seconds_ago:4
master_sync_in_progress:0
slave_repl_offset:2716
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:0d387793eec1ce8aced7814350148fef9567edf3
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:2716
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:2716

设置

角色为从,主为192.168.44.145
192.168.44.146:6379> slaveof 192.168.44.145 6379
OK
192.168.44.146:6379> info replication
# Replication
role:slave
master_host:192.168.44.145
master_port:6379
master_link_status:up
master_last_io_seconds_ago:6
master_sync_in_progress:0
slave_repl_offset:2828
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:0d387793eec1ce8aced7814350148fef9567edf3
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:2828
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2815
repl_backlog_histlen:14

再次查看192.168.44.145的状态

角色为从,主为192.168.44.144
角色为主,从为192.168.44.146
192.168.44.145:6379> info replication
# Replication
role:slave
master_host:192.168.44.144
master_port:6379
master_link_status:up
master_last_io_seconds_ago:4
master_sync_in_progress:0
slave_repl_offset:3038
slave_priority:100
slave_read_only:1
connected_slaves:1
slave0:ip=192.168.44.146,port=6379,state=online,offset=3038,lag=0
master_replid:0d387793eec1ce8aced7814350148fef9567edf3
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:3038
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:3038

设置为永久生效

slave01 192.168.44.146

[root@redis_s2 ~]# redis-cli -h 192.168.44.146 -p 6379
192.168.44.146:6379> config rewrite
OK

验证主从从

查看数据,均有已存入的 a b c d

master 192.168.44.144
192.168.44.144:6379> keys *
1) "b"
2) "a"
3) "d"
4) "c"
slave(master)192.168.44.145
192.168.44.145:6379> keys *
1) "d"
2) "b"
3) "a"
4) "c"
slave01 192.168.44.146
192.168.44.146:6379> keys *
1) "a"
2) "b"
3) "d"
4) "c"

master 192.168.44.144 清空已有数据再次存入数据

另外两个服务器均能查询新的数据

master 192.168.44.144
192.168.44.144:6379> flushdb
OK
192.168.44.144:6379> keys *
(empty list or set)
192.168.44.144:6379> mset aa 11 bb 22 cc 33 dd 44
OK
192.168.44.144:6379> keys *
1) "cc"
2) "bb"
3) "dd"
4) "aa"
192.168.44.144:6379>

slave(master)192.168.44.145

192.168.44.145:6379> keys *
(empty list or set)
192.168.44.145:6379> keys *
1) "bb"
2) "aa"
3) "dd"
4) "cc"

slave01 192.168.44.146

192.168.44.146:6379> keys *
(empty list or set)
192.168.44.146:6379> keys *
1) "aa"
2) "cc"
3) "bb"
4) "dd"

给主从从结构增加验证功能

主从从结构中的master服务器设置了连接密码,
slave服务器要指定连接密码才能正常同步master主机数据

给master 192.168.44.144 设置连接密码

192.168.44.144:6379> config get requirepass
1) "requirepass"
2) ""
192.168.44.144:6379> config set requirepass 123456
OK
192.168.44.144:6379> config get requirepass
(error) NOAUTH Authentication required.
192.168.44.144:6379> auth 123456
OK
192.168.44.144:6379> config get requirepass
1) "requirepass"
2) "123456"

给slave(master)192.168.44.145设置连接密码,密码同master;

给slave(master)192.168.44.145指定连接master的密码

192.168.44.145:6379> config get requirepass
1) "requirepass"
2) ""
192.168.44.145:6379> config set requirepass 123456
OK
192.168.44.145:6379> auth 123456
OK
192.168.44.145:6379> config get masterauth
1) "masterauth"
2) ""
192.168.44.145:6379> config set masterauth 123456
OK
192.168.44.145:6379> config get masterauth
1) "masterauth"
2) "123456"
192.168.44.145:6379> config rewrite
OK

给slave01指定连接slave(master)的连接密码

192.168.44.146:6379> config set masterauth 123456
OK
192.168.44.146:6379> config rewrite
OK

redis主从结构 主从从相关推荐

  1. redis主从结构 (一主一从,一主多从,主从从)

    关闭防火墙和selinux systemctl disable firewalld.service systemctl stop firewalld vim /etc/selinux/config s ...

  2. Redis离线搭建主从结构

    最近给跟总公司那边做项目,权限管理比较严个,服务器不能链接外网没办法yum安装redis服务,写下这篇记录下离线搭建redis过程. 本次搭建的机器属性:centos7.2  root权限下,由于保密 ...

  3. redis主从结构及应用场景

    概述 一般而言主从结构都是用来达到高可用的效果,也就是主服务器宕机情况下,马上切换为从服务器来应对.主从结构有很多好处,比如:高可用,读写压力分离; 同时也带来了问题,主从数据可能不一致问题,导致读到 ...

  4. redis主从结构,主库宕机

    前提:现在有主从结构,主库没有配置持久化,从库配置AOF.(主库用来备份和写服务,从库用来提供读服务) 非常危险的动作:重新启动主库. 要知道这样一来,最坏情况数据将全部丢失.因为主库没有配置持久化, ...

  5. Day267.预约系统的性能瓶颈、营销活动无缝切换秒杀活动、预约系统数据迁移方案、高流量下预约系统搭建熔断机制、预约系统redis集群主从哨兵架构 -Redis的高并发预约抢购系统

    一.预约系统的性能瓶颈 1.预约系统应对热门爆品时的缺陷 用户进行预约会涉及到两个维度的数据变更一个是用户信息,一个是SKU信息,如图↓所示: 正常来说这么搞一点问题没有,即便涉及到写数据库,但是每个 ...

  6. Redis单机模式主从模式哨兵模式集群模式搭建

    文章目录 一.Redis下载及安装 1.1.下载 1.2.环境安装 1.3.编译安装 1.4.修改配置 1.5.启动Redis 1.6.验证Redis是否启动 1.7.进入到Redis客户端 1.8. ...

  7. Redis数据库搭建主从同步(主从概念、主从配置、主从数据操作)

    1. 主从概念 ⼀个master可以拥有多个slave,⼀个slave⼜可以拥有多个slave,如此下去,形成了强⼤的多级服务器集群架构 master用来写数据,slave用来读数据,经统计:网站的读 ...

  8. rsync同步操作 inotify实时同步 cobbler装机平台 DNS主从结构

    目录 rsync同步操作 rsync基本使用 rsync+ssh同步:远程同步 实时同步 inotify实时同步 inotifywait监控 cobbler装机平台 cobbler简介 基本概念: 装 ...

  9. tcxgrid主从结构显示多行_快速跟随型主从结构多电机同步控制

    快速跟随型主从结构多电机同步控制 王少炜 ; 耿强 ; 周湛清 [期刊名称] <新型工业化> [年 ( 卷 ), 期] 2017(007)010 [摘要] 针对于大功率.大负载多电机系统 ...

最新文章

  1. 【摄像头】摄像机工作原理
  2. 低代码缺少的五大组件
  3. Python小知识点(5)--面向对象部分
  4. Office HPDeskjetD2468 打印机电源灯闪烁不停,打印机不工作怎么办
  5. 好枪手是靠子弹喂出来的,好分析师是靠大量项目沉淀出来的
  6. Storm精华问答 | storm与Hadoop区别?
  7. 欢迎来到Python循环小课堂
  8. DeepMind给人工智能搞了一套IQ测试题
  9. leecode第二百一十七题(存在重复元素)
  10. 《神经网络与深度学习》课程笔记(3)-- 神经网络基础之Python与向量化
  11. java多线程访问beans对象_java-多线程同时操作同一个对象之解决方法:读写锁ReadWriteLock的使用...
  12. qq音乐下载|qq音乐播放器下载
  13. 病毒木马查杀实战第025篇:JS下载者脚本木马的分析与防御
  14. 异步编程不会?我教你啊!CompletableFuture(JDK1.8)
  15. 降钙素(Cys(Acm)²·⁷)-α-CGRP (human)、125448-83-1
  16. excel中按出生日期排序公式
  17. 分享137个ASP源码,总有一款适合您
  18. matplotlib、numpy、pandas知识
  19. 如何从零开发一个低代码平台,有哪些成熟技术组件可用
  20. 证实!对华28nm以下大硅片出口管制已纳入瓦森纳协定

热门文章

  1. 每日分享正能量一段话45句
  2. EasyPoi的基本使用
  3. vue 路由二级跳转三级路由,路径变化页面没变
  4. 爬取古诗文网的推荐古诗
  5. lightning接口_带你回看手机接口发展史:TypeC将实现大一统?
  6. cv面试百问day2
  7. MinGW 是什么?
  8. python打开excel执行vba代码_“Python替代Excel Vba”系列(终):vba中调用Python
  9. 将word 转换为图片(word to pdf ->pdf to image)
  10. C# 代码 Unicode码和字符串相互转换