原文 :https://www.cnblogs.com/morgan363/p/13719830.html
1、问题描述
已部署好 Redis 主从服务器,实现了数据的同步。
Redis 主服务器(master server)具有读写的权限,而 从服务器(slave master)默认 只具有 读 的权限。如果强行在从服务器中接入数据,则报错提示“(error) READONLY You can't write against a read only slave”。如下所示:
127.0.0.1:6280> set str hello
(error) READONLY You can't write against a read only slave.
127.0.0.1:6280>
2、解决办法
解决 Redis 从服务器(slave ) 读写 权限的方法主要有以下两种:
2.1、方法1 - 修改 redis.conf 配置文件(永久生效)
修改 redis.conf 配置文件中的参数 slave-read-only yes ,将 yes 修改为 no ;
然后保存并重启 redis 服务,此刻从服务器就具备了 读写权限。
(注意:此方法必须重启 Redis 服务,才能使配置生效。)
2.2、方法2 - redis-cli 命令行中使用 config set 命令修改
在从Redis从服务器客户端命令行中 (redis-cli),通过 config set slave-read-only no 进行设置,立即生效,不需要重启 Redis 服务。
(注意:若Redis从服务器重新启动,之前的设置参数就会失效,又会出现 redis 从服务器只有读权限。)
127.0.0.1:6280> config get slave-read-only
1) "slave-read-only"
2) "yes"
127.0.0.1:6280> config set slave-read-only no
OK
127.0.0.1:6280> config get slave-read-only
1) "slave-read-only"
2) "no"
127.0.0.1:6280>
测试设置(读写权限)是否生效:
127.0.0.1:6280> set str hello
OK
127.0.0.1:6280> get str
"hello"
127.0.0.1:6280>
标签:127.0,slave,read,6280,redis,0.1,only
From: https://www.cnblogs.com/pine007/p/18001107