客官,留下你的赞;成为我的粉丝,一起上车哦!评论区欢迎你的留言
上一篇中搭建了Redis主从服务器,实现了数据的同步。Redis主服务器具有读写的权限
,而Redis从服务器默认只具有读的权限
。如果强行在从服务器中写入数据,则报错提示(error) READONLY You can't write against a read only slave
。如下图所示
解决从服务器(读写)权限
的方法有以下两种:
- 修改
redis.conf
配置文件中的参数slave-read-only yes
把yes
修改为no
,重启从服务器
,从服务器就具有读写权限
。 - 在从服务器客户端命令行中
(redis-cli)
,通过命令config set slave-read-only no
进行设置,立即生效
,不需要重启从服务器
。
演示第一种方法
- 将配置文件
redis.conf
中的slave-read-only yes
把yes
修改为no
。
- 重启从服务器
命令: redis-server ./redis.conf --port 6380 --slaveof 127.0.0.1 6379
- 测试配置文件修改的设置(读写权限)是否生效
演示第二种方法
- 在
从服务器客户端命令行
中,通过命令config get slave-read-only
确认slave-read-only
的值,如果为no
,从服务器已经具有读写权限
;否则通过命令config set slave-read-only on
设置参数为no
。
- 测试设置(读写权限)是否生效
注意事项
- 第一种方法需要
重启从服务器
,配置才会生效。 - 第二种方法通过命令设置成功后,
立即生效
,不需要重启从服务器
。如果从服务器重新启动,之前设置的参数失效
,参数配置恢复成默认。所以,此方法只是针对于当前的服务。