REDIS主从配置及切换

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

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

 

时间: 2024-08-31 11:02:36

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

Redis 主从配置

环境     Master/Slave     系统 IP Redis版本 Master     CentOS6.7         10.10.3.211         redis-3.2.6     Slave CentOS6.7 10.10.3.212 redis-3.2.6       1.Master配置 Master都是基本的配置,但要将 bind 127.0.0.1 改为 bind 0.0.0.0 ,要不然Slave会连不上,日志提示"Error condition on soc

Redis安装及主从配置

一.何为Redis redis是一个key-value存储系统.和Memcached类似,它 支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类型都支持 push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序. 与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操

Redis数据库在linux中安装及主从配置

Redis是一个开源.支持网络.基于内存.键值对存储数据库.与其他非关系型数据库主要不同在于,Redis中值的类型不仅限于字符串(Strings),还支持如下抽象数据类型:(列表)Lists.(集合)Sets.(有序集合)Sorted sets .(哈希)Hashes.Redis 通过 RDB.AOF 两种方式来实现数据的持久化. 安装Redis Redis 源码包保存路径 /usr/local/src Redis 软件安装路径 /usr/local/redis 编译 Redis 前先安装 tc

Redis主从及其PHP扩展的安装配置

1.Redis简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入

linux下编译安装Redis以及主从配置步骤

Redis的安装配置很简单,而且很早之前就装过Redis,可这几天再次安装时居然又遗忘了一些细节,看来好记性不如烂笔头,还是在博客记录一下比较好,至少不用总是抱度娘大腿了. 今天编译安装了几次,发现居然没在prefix指定目录生成文件??看了半天结果发现PREFIX我用了小写字母... 看来还是得记录一次正确的操作步骤,免得再次出现这种窘迫. redis 一.选择版本 前往官方网站:http://www.redis.io/download 选择一个适合的稳定版本,比如最新的redis-3.0稳定

Redis 安装及主从配置的步骤详解

Redis是一个开源.支持网络.基于内存.键值对存储数据库.与其他非关系型数据库主要不同在于,Redis中值的类型不仅限于字符串(Strings),还支持如下抽象数据类型:(列表)Lists.(集合)Sets.(有序集合)Sorted sets .(哈希)Hashes.Redis 通过 RDB.AOF 两种方式来实现数据的持久化.   安装Redis   Redis 源码包保存路径 /usr/local/src   Redis 软件安装路径 /usr/local/redis   编译 Redis

linux中Redis 安装 及 主从配置教程

Redis是一个开源.支持网络.基于内存.键值对存储数据库.与其他非关系型数据库主要不同在于,Redis中值的类型不仅限于字符串(Strings),还支持如下抽象数据类型:(列表)Lists.(集合)Sets.(有序集合)Sorted sets .(哈希)Hashes.Redis 通过 RDB.AOF 两种方式来实现数据的持久化. 安装Redis Redis 源码包保存路径 /usr/local/src Redis 软件安装路径 /usr/local/redis 编译 Redis 前先安装 tc

MHA实现mysql主从数据库手动切换的方法_Mysql

本文实例讲述了MHA实现mysql主从数据库手动切换的方法,分享给大家供大家参考.具体方法如下: 一.准备工作 1.分别在Master和Slave执行如下,方便mha检查复制: 复制代码 代码如下: grant all privileges on *.* to 'root'@'10.1.1.231' identified by 'rootpass'; grant all privileges on *.* to 'root'@'10.1.1.234' identified by 'rootpas

Redis系列之(二):Redis主从同步,读写分离(转)

1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Master发起SYNC命令. 可以是1 Master 多Slave,可以分层,Slave下可以再接Slave,可扩展成树状结构. 2.1 配置Mater,Slave 配置非常简单,只需在slave的设定文件中指定master的ip和port Master: test166 修改设定文件,服务绑定到ip上 1