• 【Redis之疑难解析】(error) READONLY You can't write against a read only slave


    一、问题描述

           已部署好 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> 

    二、解决办法

           解决 Redis 从服务器(slave ) 读写 权限的方法主要有以下两种:

    方法1:修改 redis.conf 配置文件(永久生效)

            修改 redis.conf 配置文件中的参数  slave-read-only  yes ,将 yes 修改为 no

            然后保存并重启 redis 服务,此刻从服务器就具备了 读写权限。

            (注意:此方法必须重启 Redis 服务,才能使配置生效。

    方法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> 
  • 相关阅读:
    JS防止刷新,后退,关闭
    IIS日志-网站运维的好帮手
    未能加载文件或程序集“XXX”或它的某一个依赖项。磁盘空间不足---解决方案
    NOPI导出标准格式Excel
    DRBD+Heartbeat+Mysql高可用环境部署
    LVS三种包转发模型调度算法
    nagios环境部署(rhel6.5)
    关于nagios监控
    关于memcached原理及安装部署
    PHP5.4.36 RHEL6.5 源码编译安装
  • 原文地址:https://www.cnblogs.com/morgan363/p/13719830.html
Copyright © 2020-2023  润新知