博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
REDIS主从配置及切换
阅读量:7061 次
发布时间:2019-06-28

本文共 3306 字,大约阅读时间需要 11 分钟。

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

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

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

网上相关文档如下:

环境描述:

redis192.168.10.1 6379

redis192.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

 

转载地址:http://qcbll.baihongyu.com/

你可能感兴趣的文章
用nginx搭建http透明代理
查看>>
linux一切皆文件
查看>>
三层交换配路由不同(VLAN)6台PC之间通信(华为)
查看>>
2018.4.25 六周第一次课 (正则grep-过滤指定关键词)
查看>>
自动化运维系列之Ansible的简介与安装
查看>>
Python编写判断成绩的程序
查看>>
Python 扫描存活主机
查看>>
Bootstrap tab 页切换导致 webuploader 渲染失败。
查看>>
一起来学大数据|为何学习大数据,要先学Java?之茅塞顿开
查看>>
javascript document.write()方法
查看>>
路由器的远程连接和密码解密
查看>>
5G超新时代,点燃了25G和100G光模块市场
查看>>
华三路由器配置mstp多生成树协议
查看>>
程序员最怕的四个字:通宵发布!| 程序员有话说
查看>>
没有公网IP怎样访问异地视频监控
查看>>
考试命令脚本题3
查看>>
linux中vi整理全集(基础)
查看>>
戛纳电影节百花齐放,中国明星衣着品味紧跟时尚前沿
查看>>
android服务unbind之后再想绑定问题
查看>>
python 模拟登陆51job企业中心,翻页取出所有简历
查看>>