首先将redis文件夹复制一份,命名为redis6380。此时有两个文件夹,分别为/usr/local/redis,/usr/local/redis6380

设置redis.conf,我安装的在/usr/local/redis/etc/redis.conf下

usr/local/redis/etc/redis.conf设置

         replica-read-only no  # 取消只读

         # bind 127.0.0.1  # 注释bind,可以用IP或127.0.0.1连接

         requirepass  123456 # 设置密码

 

usr/local/redis6080/etc/redis.conf设置

pidfile /var/run/redis_6380.pid #修改pid与6379不重名

logfile "/usr/local/redis6380/redis_6380.log" # 修改日志文件与6379不重名

port 6380 #修改端口为6380

         # bind 127.0.0.1  # 注释bind,可以用IP或127.0.0.1连接

         requirepass  123456 # 设置密码

masterauth 123456  # 设置主redis密码,否则无法同步

slaveof 127.0.0.1 6379 # 设置为从本机的6379 端口的redis同步数据,也可使用replicaof命令

  • 启动与连接

启动时指定配置文件:

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf &

/usr/local/redis6380/bin/redis-server /usr/local/redis6380/etc/redis.conf &

         连接时指定端口及密码:

                  /usr/local/redis/bin /redis-cli -p 6379 -a 123456

/usr/local/redis6380/bin /redis-cli -p 6379 -a 123456

  • 验证

连接到6379端口 /usr/local/redis/bin /redis-cli -p 6379 -a 123456

执行命令:set name name1

输出:OK

执行命令:get name

输出:name1

 

连接到6380端口/usr/local/redis6380/bin /redis-cli -p 6379 -a 123456

执行命令:get name

输出:name1

 

6380已同步6379数据。如果需要严谨,可以重新连接到6379,set name name2,修改name后重新get,避免脏数据影响

  • 问题

从redis没有同步主数据,查看指定位置的日志文件后发现这样一句话:Master is currently unable to PSYNC but should be in the future: -NOMASTERLINK Can't SYNC while not connected with my master

连接主库执行slaveof no one命令,问题解决

主库配置了replicaof,可能是之前测试时配置,这次使用slaveof命令时没有检查到

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐