主从复制,是指将一台Redis服务器的数据,复制到其它的Reids服务器。前者称为主节点,后者成为从节点,数据是单向的只能由主节点到从节点。默认情况下,每台Reids服务器都是主节点;且一个主节点可以有多个从节点或没有从节点,但一个从节点只能有一个主节点。主节点负责写,从节点负责读。

受害者 就是从机 so文件
攻击者就是主机 so文件
在redis官网上下载redis-4.0.1.1
将redis.conf复制多分redis6379.conf、redis6380.conf


将redis6379.conf,redis6380.conf都设置为后台进程

分别为redis6379.conf,redis6380.conf配置不同的 pidfile(pid 文件名):
pidfile /var/run/redis_6379.pid
pidfile /var/run/redis_6380.pid

为redis6379.conf,redis6380.conf配置不同的 port(端口):6379、6380

为redis6379.conf,redis6380.conf配置不同的 logfile(日志文件):
为redis6379.conf,redis6380.conf配置不同的 dbfilename(rdb文件名)
redis-server --port 6379
redis-server --port 6380
redis-cli -p 6379
redis-cli -p 6380
在6380端口上设置
slaveof 127.0.0.1 6379(将所有从节点得ip端口都在主节点上执行一遍)
Slaveof 命令可以将当前服务器转变为指定服务器的从属服务器(slave server)。
SLAVEOF 主服务器IP 主服务器端口
最新版本将slaveof替换为了replicaof
最终设置6379为主,6380为从


在6379上执行命令set K2 K2

在6380上查看K2

注意:真实的主从配置应该是在配置文件中进行配置的,这样的话是永久的,而我们这里使用的命令来进行配置的,只是测试使用,只是暂时的,不过真实环境中配置原理是一样的。

2、修改主节点的配置文件
vim /etc/redis.conf
bind 0.0.0.0绑定本机所有地址
requirepass centos 设置认证信息 缺一不可
在从节点上设置
vim /etc/redis.conf
bind 0.0.0.0
slaveof 192.168.30.72 6379 (在每一个从主机配置文件上都设置 slaveof 主节点ip 主节点端口)
masterauth centos
requirepass centos 缺一不可
Slaveof 命令可以将当前服务器转变为指定服务器的从属服务器(slave server)。
SLAVEOF 主服务器IP 主服务器端口
可选redis.conf中设置为no

systemctl start redis

之后各自运行开启redis服务
redis-server …/redis.conf
主节点

从节点

主节点上设置K-V值,从节点上查V值

