介绍
主从复制是主机数据更新后根据配置和策略,自动同步到备机的master/slave
机制,Master以写为主,Slave以读为主
.
优势
- 读写分离,性能扩展,降低单台服务器压力
- 容灾快速恢复
案例演示
我们在根目录创建一个目录,里面用来存放配置文件,如下:
mkdir /myredis
将redis.conf
配置文件复制到新建的目录中,如下:
cp /etc/redis.conf /myredis/
修改复制好的redis.conf
配置文件,将某些配置项注释掉,如下:
# 关闭AOF持久化功能
appendonly no
新建1个配置文件,如下:
vi redis-6379.conf
我们在新建的配置文件中,加入以下配置:
include /myredis/redis.conf
pidfile /myredis/pid/redis_6379.pid
port 6379
dbfilename dump6379.rdb
我们将该文件复制2份,如下:
cp redis-6379.conf redis-6380.conf
cp redis-6379.conf redis-6381.conf
将配置属性变更一下,如下:
redis-6380.conf
include /myredis/redis.conf
pidfile /myredis/pid/redis_6380.pid
port 6380
dbfilename dump6380.rdb
redis-6381.conf
include /myredis/redis.conf
pidfile /myredis/pid/redis_6381.pid
port 6381
dbfilename dump6381.rdb
因为我的redis设置了登录密码,所以我们要在从机
的配置文件中加入以下内容(在这里是6380和6381配置文件),如下:
masterauth 123456
我们用这个3个配置文件,分别启动3个redis服务,如下:
usr/local/bin/redis-server /myredis/redis-6379.conf
usr/local/bin/redis-server /myredis/redis-6380.conf
usr/local/bin/redis-server /myredis/redis-6381.conf
查看是否启动成功,如下:
我们分别打开3个客户端,使用命令进行连接,如下:
我们使用命令查看一下,每台redis服务的信息,如下:
info replication
我们使用命令将6380
和6381
两个服务变为6379
的从服务器,如下:
slaveof host port
我们用命令再次查看6379
服务的信息,如下:
配置完成!
我们在主服务中加入几个数据,看看从服务是否有数据,如下:
查看从服务数据,如下:
小结:
当master
G掉后,slave
不会上位,当master
服务启动后还是大哥。
当slave
G掉后,启动后就又变成了master
,需要重新使用slaveof
将其变为slave
从服务。
想让slave
变为大哥,可以使用slaveof no one
将其变为大哥。
感谢各位的观看,谢谢~