超详细ubuntu安装redis及使用

ubuntu安装redis及使用

有些代码或者步骤可能有些区别和不妥,欢迎指正
参考博客:ubuntu 安装redis

ubuntu安装redis及使用

  • ubuntu安装redis及使用
    • redis安装
    • redis主从复制
      • 注意
      • 主从复制原理
    • redis哨兵模式
      • 实现

redis安装

我安装的redis版本为5.0.14.1
虚拟机有网络应该是可以使用命令下载的
redis下载
首先在windows下将安装包下载下来,再传输到虚拟机中。
我使用的是xftp进行文件传输和连接虚拟机
先使用ifconfig命令查看本机ip
在这里插入图片描述

使用xftp建立连接
主机填写查到的ip地址,用户名密码填写你的。
超详细ubuntu安装redis及使用_第1张图片连接建立后将下载的文件拖拽过去即可:
超详细ubuntu安装redis及使用_第2张图片一直连接不上的可以看看虚拟机中是否配置了ssh服务,未配置的需要下载ssh服务

下载:
sudo apt install openssh-server
开启:
sudo service sshd start

将下载好的redis压缩包解压缩
超详细ubuntu安装redis及使用_第3张图片

我将其移动到usr/local下面(mv指令显示权限不够,需要root权限)
在这里插入图片描述

进入redis文件夹,安装redis
超详细ubuntu安装redis及使用_第4张图片初始的redis下不包含redis.server和redis.cli等文件,需要安装后才会有,执行make命令
注意
在这里没有make工具的需要下载,在更新时遇到类似

: 仓库 “https://mirrors.tuna.tsinghua.edu.cn/ubuntu impish-backports Release” 没有 Release 文件。

问题的需要更换软件源,可参考下面的博客

仓库 “https://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial Release” 没有 Release 文件
下载make工具
超详细ubuntu安装redis及使用_第5张图片继续操作:
超详细ubuntu安装redis及使用_第6张图片超详细ubuntu安装redis及使用_第7张图片

再在redis的src目录下看见redis-cli和server即成功
超详细ubuntu安装redis及使用_第8张图片

修改配置文件redis.conf
打开文件:

gedit redis.conf

修改密码
超详细ubuntu安装redis及使用_第9张图片

修改bind,在末尾追加本机的ip地址(允许其他服务器连接)
在这里插入图片描述

启动redis服务
src目录下,执行启动命令(指定配置文件启动redis)
超详细ubuntu安装redis及使用_第10张图片

可以通过修改redis.conf中的daemonize,设置为yes,则切换启动方式为后台启动

在这里插入图片描述

连接redis客户端
![在这里插入图片描述](https://img-blog.csdnimg.cn/044047193a874951a31bb2ecd0e3bede.png

redis主从复制

搭建一主多从
配置一主两从:
桌面新建一个myredis文件夹,复制redis.conf到文件夹
在这里插入图片描述
创建三个配置文件redis6378.conf,redis6380.conf,redis6381.conf,并在文件中写入相应内容(通过include引入原始配置)
超详细ubuntu安装redis及使用_第11张图片

同理创建其他两个文件:
只不过要加上

masterauth 123456

超详细ubuntu安装redis及使用_第12张图片

启动三台服务器:

超详细ubuntu安装redis及使用_第13张图片
使用info replication可以打印主从复制的相关信息

配置从机
slaveof <主机ip>
如下可以在命令行设置(从服务器挂掉重启后会重新变为单独的主机)
超详细ubuntu安装redis及使用_第14张图片
也可以在conf中直接设置(这样在从服务器挂掉重启后,仍旧是从服务器)
超详细ubuntu安装redis及使用_第15张图片

可以查看是否配置成功:
超详细ubuntu安装redis及使用_第16张图片
测试:
在这里插入图片描述

注意

最开始我使用6379为主机,但是一直连接不上从库,原因是redis的原始默认端口为6379,而我自己又配置了一个6379的文件,之后我使用了6378作为主机。

主从复制原理

1、当从连接上主服务器之后,从服务器向主服务发送进行数据同步消息
2、主服务器接到从服务器发送过来同步消息,把主服务器数据进行持久化,rdb文件,把rdb文件发送从服务器,从服务器拿到rdb进行读取。
3、每次主服务器进行写操作之后,和从服务器进行数据同步
参考链接:
Redis 的主从同步,及两种高可用方式

redis哨兵模式

能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。

实现

参考博客
1、在myredis文件夹下创建sentinel.conf文件写入如下语句

port 26378
sentinel monitor mymaster 127.0.0.1 6378 1
sentinel auth-pass mymaster 123456

其中mymaster为监控对象起的服务器名称,为至少有多少个哨兵同意迁移的数
因为我的主服务器不是默认的6379所以要进行port设置。
如果设置了redis密码就必须设置上述第三行,否则哨兵设置不生效,报错:

Next failover delay: I will not start a failover before

2、启动哨兵
超详细ubuntu安装redis及使用_第17张图片

没有启动成功的可能需要下面的下载命令。

sudo apt install redis-sentinel

这时把主服务器shutdown
在这里插入图片描述
哨兵监听显示会尝试连接断掉的服务器,连接失败后,选举6380服务器为新Master
超详细ubuntu安装redis及使用_第18张图片可以看到6380成为了新的主服务器
超详细ubuntu安装redis及使用_第19张图片
重启6378服务器

超详细ubuntu安装redis及使用_第20张图片
可以看到它变为了6380的从服务器
超详细ubuntu安装redis及使用_第21张图片

在Linux上,如果开了redis的守护进程,kill -9和redis-cli shutdown 命令是无法杀掉 redis 进程的 ,杀掉就会重新启动一个新的进程
可以使用这个命令:

/etc/init.d/redis-server stop

你可能感兴趣的:(redis,ubuntu,数据库)