redis主从复制配置详解
目录
第一,主从复制操作前的配置
主从配置讲解之前,先说一下redis.conf相关参数,这里只说一下几个跟主从复制有关的重要参数:
##Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize yes
##当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /myredis/run/redis.pid
# 指定本地数据库文件名,默认值为dump.rdb;除非非常要紧的数据否则尽量不要开启数据持久化
dbfilename dump.rdb
##指定Redis监听端口,默认端口为6379
port 6379
##绑定的主机地址(只允许主机连接,一般都是注释掉的)
bind 127.0.0.1
###指定本地数据库存放目录
dir /myredis
##(旧版本)设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
slaveof <masterip> <masterport>
#(新版本从 Redis 5 起使用 REPLICAOF 替代 SLAVEOF 。当然,为了向后兼容 SLAVEOF 命令仍然可用。)设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
replicaof <masterip> <masterport>
###当master服务设置了密码保护时,slav服务连接master的密码
masterauth <master-password>
#设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭
requirepass 123456
主机redis.conf配置:
#主机配置
daemonize yes
pidfile /myredis/run/redis.pid
port 6379
#bind 127.0.0.1
dir /myredis
requirepass 123456
#主机连接密码(注意:这个在主从的时候可以不用配置,哨兵模式的时候需要配置一下密码,保证主从可以正常切换)
masterauth 123456
从机redis6380.conf配置:
#从机6380配置
daemonize yes
pidfile /myredis/run/redis6380.pid
dbfilename dump6380.rdb
port 6380
#bind 127.0.0.1
dir /myredis
requirepass 123456
#主机地址和端口
replicaof 127.0.0.1 6379
#主机连接密码
masterauth 123456
从机配置:
#从机6381配置
daemonize yes
pidfile /myredis/run/redis6381.pid
dbfilename dump6381.rdb
port 6381
#bind 127.0.0.1
dir /myredis
requirepass 123456
#主机地址和端口
replicaof 127.0.0.1 6379
#主机连接密码
masterauth 123456
第二,分别启动三个端口的服务
#主服务
/redis/redis-6.0.8/src/redis-server /myredis/redis.conf
#从服务6380
/redis/redis-6.0.8/src/redis-server /myredis/redis6380.conf
#从服务6381
/redis/redis-6.0.8/src/redis-server /myredis/redis6381.conf
第三,查看replication节点
info replication
第四,主从复制的测试操作
如果查看信息如第三步所示的话,表示主从配置成功了,接下来,我们进行一下数据测试,看看是否进行了同步!
主机进行字符串设置,可以在从机上获取到设置的数据:
#设置测试数据
set zctest_01 zcvalue
#获取测试数据
get zctest_01