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
REDIS主从配置及切换的更多相关文章
- redis主从配置及主从切换 转
redis主从配置及主从切换 转自 http://blog.sina.com.cn/s/blog_67196ddc0101h8v0.html (2014-04-28 17:48:47) 转载▼ 分 ...
- Redis主从配置及通过Keepalived实现Redis自动切换高可用
Redis主从配置及通过Keepalived实现Redis自动切换高可用 [日期:2014-07-23] 来源:Linux社区 作者:fuquanjun [字体:大 中 小] 一:环境介绍: M ...
- 通过哨兵机制实现Redis主从配置以及java调用
Redis版本:3.0.7 操作环境:Linux 一.redis 主从配置的作用是什么 redis主从配置,配置master 只能为写,slave只能为读,在客户端对poolconnect请求时候,, ...
- Redis 主从配置密码以及哨兵
目录: Redis 主从介绍 哨兵机制 Redis 主从配置 环境 安装 启动服务 检查主从状态 测试数据同步 默认是读写分离的 Redis Sentinel 配置 主Redis宕机测试 配置多个哨兵 ...
- Redis主从配置详细过程
Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.下面楼主简单的进行一下配置. 1.上面安装 ...
- redis主从配置+sentinel哨兵
redis主从配置+sentinel哨兵 1:编译环境准备 1.1环境确认 Redis是一个开源.支持网络.基于内存.键值对存储数据库,使用ANSI C编写.所以在搭建Redis服务器时需要C语言的编 ...
- Linux中redis主从配置
假设要在6380开启redis 1.添加配置文件:复制redis.conf为redis_6380.conf 2.修改配置文件:修改redis_6380.conf中port.pidfile 3.防火墙: ...
- redis主从配置及主从切换
环境描述: 主redis:192.168.10.1 6379从redis:192.168.10.2 6380 一.主从配置 1.将主从redis配置文件redis.conf中的aemonize no ...
- redis 非集群的主从配置及切换
单纯的master-slave不能称之为集群,只能叫做读写分离.此案例只针对master为单点服务,且程序端写死master为可写,slave为只读.若master宕机则不可用,若主从未开启持久化,不 ...
随机推荐
- HADOOP之HIVE+MYSQL,HBASE+ZOOKEEPER
这个搞得有劲哈哈 继续...继续....
- KEIL中的变量相关
例:sfr P0=0x80表示P0口地址为80H:(sfr是字节操作) sfr16 T2=0xCC表示T2口地址的低地址为TL2=0XCC,高地址为TH2=0XCD(sfr16是字操作) 头文件reg ...
- 资本助力转型 TCL攻守转换(转型、并购、过冬前一定要保留强大的战略预备队)
吴侨发 9月份,TCL集团(3.92, 0.00, 0.00%)160多位高管启动四天戈壁行.在戈壁行第三天,30多公里的戈壁,差不多等于平路50公里,最后两只队伍走了13个小时.路途的艰辛几乎超过这 ...
- Android获取当前时间与星期几
public class DataString { private static String mYear; private static String mMonth; private static ...
- 【转】Math.Atan2 方法
原文网址:https://msdn.microsoft.com/zh-cn/library/system.math.atan2.aspx 返回正切值为两个指定数字的商的角度. 命名空间: Syste ...
- PHP页面静态化(转)
在很多地方都看到有PHP整站静态化的东东,怪唬人的..其实,你会静态化一个页面,那么别说整站了,想静态化多少都可以.所以关键是,首先要知道怎么静态化一个页面,了解静态化的原理是关键.. 这里就说下我个 ...
- MyBatis 通过包含的jdbcType类型和java中对应的数据类型
MyBatis 通过包含的jdbcType类型 BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINED ...
- hdu2767 Proving Equivalences --- 强连通
给一个图,问至少加入�多少条有向边能够使图变成强连通的. 原图是有环的,缩点建图,在该DAG图上我们能够发现,要使该图变成强连通图必须连成环 而加入�最少的边连成环,就是把图上入度为0和出度为0的点连 ...
- Android Fragment详解(六):Fragement示例
把条目添加到动作栏 你的fragment们可以向activity的菜单(按Manu键时出现的东西)添加项,同时也可向动作栏(界面中顶部的那个区域)添加条目,这都需通过实现方法onCreateOptio ...
- Codeforces Round #260 (Div. 2)A. Laptops
A. Laptops time limit per test 1 second memory limit per test 256 megabytes input standard input out ...