【redis】redis 手动切换主从

时间:2025-05-07 16:57:06

场景一: 测试需要,需要手动切换主从


在redis节点:

$ redis-cli  -h  xx.xx.xx.xx  -p  XX  -a  'XX'    shutdown 

不要直接关闭redis进程,使用 shutdown ,能在进程关闭前持久化内存中的数据

待主从切换完毕后:

$  systemctl start redis-server 



场景二、故障恢复,需要手动切换主从


背景

架构:  3台服务器,1主2从3哨兵,每台服务有一个主(或从))和哨兵。

主(哨兵1):192.168.1.11

从(哨兵2):192.168.1.12

从(哨兵3):192.168.1.13

线上redis master异常关机之后重启,  发现redis哨兵模式下 三个节点都是slave,无法选择出主。


主从切换操作


登录192.168.1.11(master),关闭redis进程

$ redis-cli  -h  192.168.1.11   -p   6379  -a  'XX'   shutdown 


登录192.168.1.12(new master)

$ redis-cli  -h 192.168.1.12   -p   6379  -a  'XX'     slaveof no one

$ redis-cli  -h 192.168.1.12   -p   6379  -a  'XX'      config set  slave-read-only no


登录192.168.1.13(slave)

$ redis-cli  -h 192.168.1.12    -p   6379  -a  'XX'       config set  masterauth  'XXX'

$ redis-cli  -h 192.168.1.12    -p   6379  -a  'XX'       slaveof 192.168.1.12  6379


启动192.168.1.11 redis进程,成为192.168.1.12(new master)的slave

$  systemctl start redis-server 

$ redis-cli  -h 192.168.1.12    -p 6379  -a  'XX'       config set  masterauth  'XXX'

$ redis-cli  -h 192.168.1.12    -p 6379  -a  'XX'       slaveof 192.168.1.12  6379



参考


Redis的主从切换

https://www.it610.com/article/3522365.htm


redis主从宕机切换 SLAVEOF

https://www.qiansw.com/slaveof-redis-master-slave.html


手动调整master-slave切换

https://www.jianshu.com/p/1ee8012b9b3b


redis 主从备份(手动切换)

https://blog.51cto.com/u_15069442/3441150


Redis的主从切换

https://www.it610.com/article/3522365.htm