两台linux搭建redis主从复制

你。 提交于 2020-01-25 05:30:00

第一步:准备两台linux服务器

第一台服务器:192.168.137.89(主)
第二台服务器:192.168.137.3(从)

第二步:配置主服务器

2.1 准备redis的安装包,将安装包放到服务器上

2.2 解压redis安装包

将安装包解压到当前目录
在这里插入图片描述在这里插入图片描述

2.3 编译和安装

执行以下命令发生错误时,多半是没有安装gcc,这里不演示,可以百度一下
执行make 对redis解压后文件进行编译
在这里插入图片描述
执行make install进行redis安装
在这里插入图片描述

2.4 修改redis配置文件

mkdir /etc/redis
在这里插入图片描述
cp redis.conf /etc/redis/
在这里插入图片描述
mv redis.conf 6379.conf 修改配置文件的名称,为啥修改,下面会说到
在这里插入图片描述
vi 6379.conf
把127.0.0.1改为主服务器的ip
在这里插入图片描述
把no改为yes。代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至配置文件选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程
在这里插入图片描述
把./改为/(根目录),这是redis数据备份文件dump.rdb存放的路径
在这里插入图片描述
从节点连接主机的密码123456
在这里插入图片描述

2.5 配置管理redis的脚本

redis还需要有一个管理启动、关闭、重启的一个脚本。redis源码里其实已经提供了一个初始化脚本redis_init_script。

2.6 配置redis自启动

将文件拷贝到/etc/init.d目录下
cp /soft/redis-5.0.7/utils/redis_init_script    /etc/init.d
在这里插入图片描述
编辑/etc/init.d/下的redis,在开头加一个小改动
#chkconfig: 2345 90 10
#description: Redis is a persistent key-value database
在这里插入图片描述
说明:redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10
在这里插入图片描述
在/etc/init.d下的脚本都是可以在系统启动时自动启动的服务,而现在还缺一个系统启动时的配置

chkconfig redis on(设为开机启动)
在这里插入图片描述
chkconfig --add redis(将 Redis 注册成为服务)
在这里插入图片描述
chkconfig --list(查看所有注册的脚本文件)
在这里插入图片描述

2.7 启动redis

service redis start
在这里插入图片描述
登录主服务器redis客户端,下图可以正常访问
在这里插入图片描述
ps -ef|grep redis(查看redis的进程)
在这里插入图片描述

第三步:配置从服务器

3.1准备redis的安装包,将安装包放到服务器上

同2.1

3.2 解压redis安装包

同2.2

3.3 编译和安装

同2.3

3.4 修改redis配置文件

mkdir /etc/redis
在这里插入图片描述
cp redis.conf /etc/redis/
在这里插入图片描述
cd /etc/redis/
在这里插入图片描述
mv redis.conf 6379.conf
vi 6379.conf
把127.0.0.1改为从服务器的ip
在这里插入图片描述
将no改为yes
在这里插入图片描述
将./改为/(根目录)
在这里插入图片描述
添加访问主机的密码masterauth 123456
在这里插入图片描述
添加主机的ip和端口号replicaof 192.168.137.89 6379
在这里插入图片描述
配置了replicaof才会生效
在这里插入图片描述

3.5 配置管理redis的脚本

同2.5

3.6 配置redis自启动

同2.6

3.7 启动redis

service redis start
在这里插入图片描述
登录从服务器redis客户端,下图可以正常访问
在这里插入图片描述

第四步:测试

4.1 登录主服务器redis客户端

主机设置键值对aa aa
在这里插入图片描述

4.2 登录从服务器redis客户端

从机获取aa
在这里插入图片描述
测试结果:成功!!
参考文档

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!