主从复制原理(主负责写,从负责读):
1.从服务器连接主服务器,发送SYNC命令
2.主服务器接收到SYNC命名后,开始执行bgsave命令生成RDB文件并使用缓冲区记录此后执行的所有写命令
3.主服务器basave执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令
4.从服务器收到快照文件后丢弃所有旧数据,载入收到的快照
5.主服务器快照发送完毕后开始向从服务器发送缓冲区中的写命令
6.从服务器完成对快照的载入,开始接收命令请求,并执行来自主服务器缓冲区的写命令
一、两个服务器
Master:192.168.109.130
Slave:192.168.109.131
二、安装redis
三、配置主从
1.Master和slave都设置:
vim /etc/redis/redis.conf
bind 0.0.0.0 #设置0.0.0.0表示可以被其他的服务器访问,如果设置为127.0.0.1则表示只能被本机访问。
#此项设置可以将日志打出,便于查看,在生产环境时可以设置为yes
daemonize no #表示设置为前台启动,默认为yes表示以守护进程的方式启动
2.重启redis
我们可以打开redis的日志文件,实时查看redis的运行状态,然后重启redis
tail -f /var/log/redis/redis-server.log
service redis restart
3.从节点向主节点发送连接请求
#slaveof master port
例:slaveof 192.168.109.130 6379 #从节点执行
1)配置文件: 在从服务器的配置文件中加入:slaveof <masterip> <masterport>
2)启动命令: redis-server启动命令后加入 --slaveof <masterip> <masterport>
3)客户端命令: Redis服务器启动后,直接通过客户端执行命令:slaveof <masterip>
<masterport>,则该Redis实例成为从节点。
这时,从slave节点可以看到连接信息:
从master可以看到连接信息
4.验证是否成功
Master执行:
set name zhangsan
Slave执行:
get name
至此,redis主从复制搭建成功~~~
扫描二维码关注公众号,回复:
13256506 查看本文章
四、离开主节点(从节点执行)
#将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。
SLAVEOF NO ONE