首先将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命令时没有检查到