redis的主从同步
一.redis的主从操作流程
1. 准备三个redis配置文件
#进入redis的配置文件夹,准备好这几个文件,6379不用管,默认的,和这次操作无关
[root@qishi ~]# cd /etc/redis/ [root@qishi redis]# ll
total 80
-rw-r--r--. 1 root root 57774 Apr 20 15:31 6379.conf
-rw-r--r--. 1 root root 183 Apr 20 16:32 6380.conf #主数据库master
-rw-r--r--. 1 root root 206 Apr 20 16:36 6381.conf #从数据库slave
-rw-r--r--. 1 root root 206 Apr 20 16:36 6382.conf #从数据slave
2.写入以下配置
#注意,一下内容指定的路径一定要有,就是说要自己先创建好,否则可能报错
port 6380
daemonize yes
pidfile /etc/redis/data/6380/redis.pid
loglevel notice
logfile "/etc/redis/data/6380/redis.log"
dbfilename dump.rdb
dir /etc/redis/data/6380
protected-mode no
3.目前这三个配置文件配置一样,我们只需修改端口,让他们的端口不用即可(路径也不一样)
#需要在配置所在的文件夹中操作,同理其他两个配置文件指定路径也要创建好
#可以使用这一条命令通过6380.conf生成6381和6382的配置文件
sed "s/6380/6381/g" 6380.conf > 6381.conf
sed "s/6380/6382/g" 6380.conf > 6382.conf
4. 在6381和6382下添加以下配置,使之成为从数据库
slaveof 127.0.0.1 6380 #可以使用以下一行命令直接追加写入到两个从库的配置文件中
echo "slaveof 127.0.0.1 6380" >>6381.conf
echo "slaveof 127.0.0.1 6380" >>6382.conf


5. 确认三个配置文件无误
6. 开启这三个redis服务,确保三个服务启动正常
[root@qishi redis]# redis-server /etc/redis/6380.conf
[root@qishi redis]# redis-server /etc/redis/6381.conf
[root@qishi redis]# redis-server /etc/redis/6382.conf


7. 查看redis主从数据库的状态
redis-cli -p 6380 info replication
redis-cli -p 6381 info replication
redis-cli -p 6382 info replication



8. 验证redis主从复制情况
(1)先验证三个数据库是否能正常连接
redis-cli -p 6380
redis-cli -p 6381
redis-cli -p 6382



( 2 ) 在6380上面写入数据,查看6381和6382是否能够正常同步



(3)在从数据库写入数据

9. 手动进行主从复制故障切换
(1) 杀掉6380的进程,模拟主库故障
kill -9 进程ID

(2)在6381和6382上手动指定一个主库(我现在指定6382为主库)
( 3 ) 在6382的redis上执行这一行命令
slaveof no one #去除从库身份
(4) 在6381上执行以下命令,将原来的指向6380改为指向6382
原来的配置指向:

#去除原来的从库身份并且重新指定主库,要确保要指定的主库已经执行了slaveof no one slaveof no one
slaveof 127.0.0.1 6382
(5) 验证新的主从架构状态
在6382上查看主从信息

(6) 验证新的主从架构是否可以正常写入数据,同步数据
如果可以,说明主从正常


如果想永久生效必须:去修改配置文件
redis的主从同步的更多相关文章
- Redis的主从同步复制
先来看一下Redis的主从同步复制的原理: 在Slave启动并连接到Master之后,它将主动发送一条SYNC命令.此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台 ...
- Redis 的主从同步(复制)
Redis 的主从同步(复制) Redis 的主从同步(复制) 什么是主从同步(复制) 假设有两个 redis 实例 ⇒ A 和 B B 实例的内容与 A 实例的内容保持同步 那么称 A 实例是主数据 ...
- Redis的主从同步手动执行故障切换
1.准备三个redis配置文件,通过端口的区分,启动三个redis数据库实例,然后配置主从复制. # a6371.conf port 6371 daemonize yes pidfile /data/ ...
- redis之主从同步
很多企业都没有使用到 Redis 的集群,但是至少都做了主从.有了主从,当 master 挂掉的时候,运维让从库过来接管,服务就可以继续,否则 master 需要经过数据恢复和重启的过程,这就可能会拖 ...
- redis 安装 主从同步 哨兵模式
一.redis 的安装1.先将安装包放到linux的一个文件夹下面 2.解压压缩包如图所示 3.解压后进入解压文件 4.安装: make 出现it.s a good idea to run 'make ...
- 【Redis】主从同步
Redis提供了主从复制功能,主要是为了保证服务的高可用性.在redis.conf配置文件中通过设置,可以开启主从复制功能.或者在客户端中使用slaveof 命令开启该功能. slaveof < ...
- Redis系列之(二):Redis主从同步,读写分离
1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Maste ...
- Redis系列之(二):Redis主从同步,读写分离(转)
1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Maste ...
- Redis之(七)主从同步与集群管理
8.1 主从同步原理 像MySQL一样,Redis是支持主从同步的,而且也支持一主多从以及多级从结构. 主从结构,一是为了纯粹的冗余备份,二是为了提升读性能,比如很消耗性能的SORT就可以由从服务器来 ...
随机推荐
- hdu Lovekey(水题)
#include<stdio.h> #include<string.h> ]; int main() { ],s2[]; int l1,l2,i,j,k; while(scan ...
- nginx与tomcat 组合 实现静态文件和jsp组合访问
主要修改nginx的配置文件: 设置代理 location /{proxy_pass http://47.94.158.2:8080;proxy_redirect off;proxy_set_head ...
- centOS下JDK1.8的安装
1.下载JDK1.8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 有两种格式 ...
- mybatis 简单实现 left join
sql -- 表a ta (id,aname,bid) -- 表b tb (id,bname) SELECT T1.*, T2.BNAME FROM TA T1 LEFT JOIN TB T2 ON ...
- Android开发之Tween(补间动画)
在android中动画主要有三种,①帧动画(http://blog.csdn.net/dmk877/article/details/45893017)这篇文章已经详细的进行了讲解,②补间动画这也是这篇 ...
- centos安装mysql,tomcat
软件下载: jre和jdk下载:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javas ...
- jquery stop(true,false)的意思
stop 是jQuery中用于控制页面动画效果的方法.运行之后立刻结束当前页面上的动画效果.stop在新版jQuery中添加了2个参数:第一个参数的意思是是否清空动画序列,也就是stop的是当前元素的 ...
- python的requests库详解
快速上手 迫不及待了吗?本页内容为如何入门 Requests 提供了很好的指引.其假设你已经安装了 Requests.如果还没有,去安装一节看看吧. 首先,确认一下: Requests 已安装 Req ...
- win7 64 VC++ ado方式连接access 连接字符串
运行环境:win7 64 vc++6.0 office 2007 32位(access 2007) 我用的是ado方式连接access数据库,(现在的Win7系统中安装的一般 ...
- SQL Server分页模板
SQL Server分页模板 WITH T AS ( SELECT ROW_NUMBER() OVER(ORDER BY AlbumId ) AS row_number, * FROM (SELECT ...
