最近公司项目也用上了。但有个点没有弄很明白。

requirepass只是给CLIENT认证用的,还是同时给从REDIS认证用的?(masterauth)

一般的思路是主服务器不开AOF,从服务器打开AOF,以便有更高的主服务器性能。

网上相关文档如下:

环境描述:

主redis:192.168.10.1 6379

从redis:192.168.10.2 6380

一、主从配置

1、将主从redis配置文件redis.conf中的aemonize no 改为 yes

2、修改从redis配置文件redis.conf中的port 6379 改为 6380,添加slaveof 192.168.10.1 6379

如果主redis有密码 masterauth password

3、启动主从服务

主redis:

[root@localhost redis-2.8.3]# src/redis-server /soft/redis-2.8.3-master/redis-2.8.3/redis.conf

从redis:

[root@localhost redis-2.8.3]# src/redis-server /soft/redis-2.8.3-slave/redis-2.8.3/redis.conf

4、测试数据同步

主redis:

[root@localhost redis-2.8.3]# src/redis-cli -p 6379

127.0.0.1:6379> set name abc

OK

127.0.0.1:6379> get name

"abc"

127.0.0.1:6379>

从redis:

[root@localhost redis-2.8.3]# src/redis-cli -p 6380

127.0.0.1:6380> get name

"abc"

127.0.0.1:6380>

5、默认是读写分离的

在从redis:

[root@localhost redis-2.8.3]# src/redis-cli -p 6380

127.0.0.1:6380> set name 123

(error) READONLY You can't write against a read only slave.

二、主从切换

1、停止主redis

[root@localhost redis-2.8.3]# src/redis-cli -n 6379 shutdown

[root@localhost redis-2.8.3]# src/redis-cli -p 6379

Could not connect to Redis at 127.0.0.1:6379: Connection refused

not connected>

2、将从redis设成主redis

[root@localhost redis-2.8.3]# src/redis-cli -p 6380 slaveof NO ONE

OK

3、测试从redis是否切换从主redis

[root@localhost redis-2.8.3]# src/redis-cli -p 6380

127.0.0.1:6380> set name 123

OK

127.0.0.1:6380> get name

"123"

127.0.0.1:6380>

4、原来的主redis恢复正常了,要重新切换回去

1)将现在的主redis的数据进行保存

[root@localhost redis-2.8.3]# src/redis-cli -p 6380

127.0.0.1:6380> get name

"abc"

127.0.0.1:6380> set name 123

OK

127.0.0.1:6380> get name

"123"

127.0.0.1:6380> save

OK

127.0.0.1:6380> get name

"123"

127.0.0.1:6380>

2)将现在的主redis根目录下dump.rdb文件拷贝覆盖到原来主redis的根目录

3)启动原来的主redis

[root@localhost redis-2.8.3]# src/redis-server /soft/redis-2.8.3-master/redis-2.8.3/redis.conf

4)在现在的主redis中切换

[root@localhost redis-2.8.3]# src/redis-cli -p 6380 slaveof 192.168.10.1 6379

OK

~~~~~~~~~~~~~~~~~~~~~~~~~~~

一. 如何初始化redis的密码?

总共2个步骤:

a.在配置文件中有个参数: requirepass  这个就是配置redis访问密码的参数。

比如 requirepass test123

b.配置文件中参数生效需要重启重启redis 。

.不重启redis如何配置密码?

a. 在配置文件中配置requirepass的密码(当redis重启时密码依然有效)。

# requirepass foobared
 如  修改成 :

requirepass  test123

b. 进入redis重定义参数

查看当前的密码:

[root@slaver251 redis-2.4.16]# ./src/redis-cli -p 6379
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) (nil)

显示密码是空的,

然后设置密码:

redis 127.0.0.1:6379> config set requirepass test123
OK

再次查询密码:

redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted

此时报错了!

现在只需要密码认证就可以了。

redis 127.0.0.1:6379> auth test123
OK

再次查询密码:

redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"

密码已经得到修改。

当到了可以重启redis的时候 由于配置参数已经修改 所以密码会自动生效。

要是配置参数没添加密码 那么redis重启 密码将相当于没有设置。

三.如何登录有密码的redis?

a.在登录的时候 密码就输入

[root@slaver251 redis-2.4.16]# ./src/redis-cli -p 6379 -a test123
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"

b.先登录再验证:

[root@slaver251 redis-2.4.16]#  ./src/redis-cli -p 6379
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> auth test123
OK
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"
redis 127.0.0.1:6379>

四. master 有密码,slave 如何配置?

master 有密码的时候 配置slave 的时候 相应的密码参数也得相应的配置好。不然slave 是无法进行正常复制的。

相应的参数是:

#masterauth

比如:

masterauth  mstpassword

REDIS主从配置及切换的更多相关文章

  1. redis主从配置及主从切换 转

    redis主从配置及主从切换 转自 http://blog.sina.com.cn/s/blog_67196ddc0101h8v0.html (2014-04-28 17:48:47) 转载▼   分 ...

  2. Redis主从配置及通过Keepalived实现Redis自动切换高可用

    Redis主从配置及通过Keepalived实现Redis自动切换高可用 [日期:2014-07-23] 来源:Linux社区  作者:fuquanjun [字体:大 中 小]   一:环境介绍: M ...

  3. 通过哨兵机制实现Redis主从配置以及java调用

    Redis版本:3.0.7 操作环境:Linux 一.redis 主从配置的作用是什么 redis主从配置,配置master 只能为写,slave只能为读,在客户端对poolconnect请求时候,, ...

  4. Redis 主从配置密码以及哨兵

    目录: Redis 主从介绍 哨兵机制 Redis 主从配置 环境 安装 启动服务 检查主从状态 测试数据同步 默认是读写分离的 Redis Sentinel 配置 主Redis宕机测试 配置多个哨兵 ...

  5. Redis主从配置详细过程

    Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.下面楼主简单的进行一下配置. 1.上面安装 ...

  6. redis主从配置+sentinel哨兵

    redis主从配置+sentinel哨兵 1:编译环境准备 1.1环境确认 Redis是一个开源.支持网络.基于内存.键值对存储数据库,使用ANSI C编写.所以在搭建Redis服务器时需要C语言的编 ...

  7. Linux中redis主从配置

    假设要在6380开启redis 1.添加配置文件:复制redis.conf为redis_6380.conf 2.修改配置文件:修改redis_6380.conf中port.pidfile 3.防火墙: ...

  8. redis主从配置及主从切换

    环境描述: 主redis:192.168.10.1 6379从redis:192.168.10.2 6380 一.主从配置 1.将主从redis配置文件redis.conf中的aemonize no ...

  9. redis 非集群的主从配置及切换

    单纯的master-slave不能称之为集群,只能叫做读写分离.此案例只针对master为单点服务,且程序端写死master为可写,slave为只读.若master宕机则不可用,若主从未开启持久化,不 ...

随机推荐

  1. 在eclipse中创建web项目

    如何创建dynamic web project项目 本文的演示是从本地文件创建dynamic web project,从svn检出的同时创建dynamic web project于此类似.我们推荐使用 ...

  2. elasticsearch 修改内存

    [elk@zjtest7-redis bin]$ cat elasticsearch.in.sh if [ "x$ES_MIN_MEM" = "x" ]; th ...

  3. Html.DropDownList的用法

    直接上代码 页面代码 <td> <%= Html.DropDownList("selCity") %> </td> controller里面的代 ...

  4. Jquery使用tbody编辑功能实现table输入计算功能

    实例:编写一个输入计算(被减数-减数=差). HTML: <body> <table> <thead> <tr> <td >被减数</ ...

  5. Spring初学(一)

    Spring核心机制:依赖注入 依赖注入简单的理解就是 由Spring负责对model进行设置,而非由controller直接设置. 通过依赖注入,javaEE各种组件可以解耦. 依赖注入(Depen ...

  6. (转)iOS7界面设计规范(7) - UI基础 - 交互性与反馈

    现在只是周日下午,可怎样都觉得整个周末就这样即将过去了,不免沮丧.看了好多集小丸子了,又不免觉得现在其实是在放暑假,可以一天一天的窝在家里做任何事,任何事.再上一篇iOS7设计规范,然后本周末就到这里 ...

  7. 使用AWS的EC2服务器,进行跳墙

    选Ubuntu的服务器 一开始先设置Root,命令:su root 在安装之前,先Update一下源:apt-get update update完就可以安装: 1.安装pi,命令:apt-get in ...

  8. Sonar入门(四):Eclipse集成Sonar

    sonar及其插件在项目中的使用方法 Sonar平台 Sonar平台的安装见一文, 在Sonar平台上进行的检查可以通过hudson进行触发, A. 没有做持续集成的项目可以复制以下hudson上的任 ...

  9. 【转载】cocos2d-x2.2.3和android的平台环境

    这两天试图按照教程来学习写游戏移植到的横版过关Android在.在网上找了很多教程,但版本号变化.所使用的工具有细微的差别.所以,现在我们还没有准备好,阅读后,下面的文章.最后能够顺利您的手机上跑起来 ...

  10. Android实现左右滑动效果

    本示例演示在Android中实现图片左右滑动效果.   关于滑动效果,在Android中用得比较多,本示例实现的滑动效果是使用ViewFlipper来实现的,当然也可以使用其它的View来实现.接下来 ...