注意,在看本教程前,请先自行备份配置文件以及数据。
如果持久化用的是rdb,备份.rdb文件,默认叫dump.rdb,如果你更改为其他名字,请自行查看配置,你的.rdb叫什么。完成本教程后,把.rdb文件放入redis的启动目录即可。不知道启动目录,就在redis-cil 命令行输入config get dir查看
如果持久化用的是aof,备份.aof文件,默认叫appendonly.aof
本教程写的时候是redis版本是 redis-6.0.9 ,如果高于此版本或者低于此版本,目录结果不一样,请安装redis-6.0.9 版本,把文中的 redis-X.X.X 替换为 redis-6.0.9
系统版本
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-64-generic x86_64)
使用 ping
命令 查看一下网络
ping www.baidu.com
网络没问题后使用 apt-get update
命令进行更新系统
apt-get update
如果是通过 apt-get install redis-server
方式安装的 redis
,可以输入 apt-get remove --purge redis-server
进行redis的卸载操作,输入此命令会问你是否卸载,输入 Y
确认卸载 redis
。
然后输入 redis-server -v
查看是否卸载完成,如果出现提示 Command 'redis-server' not found
说明卸载成功。
apt-get remove --purge redis-server
# 会询问是否卸载,输入 Y 确认卸载
Y
redis-server -v
检查是否安装了 gcc
,输入 gcc --version
进行查看是否安装了 gcc
,如果出现 Command 'gcc' not found,but can be installed with: apt install gcc
,则说明没用安装 gcc
,需要输入 apt install gcc
进行安装。然后再次输入 gcc --versio
查看是否安装成功
gcc --version
# 如果出现
Command 'gcc' not found,but can be installed with:
apt install gcc
# 则说明没用安装 gcc ,需要输入 apt install gcc 进行安装
apt install gcc
# 会问你是否继续安装,输入 Y 继续安装
Y
然后进入 /usr/local
目录下载 redis 最新安装压缩包,安装完成后输入 ls
可以查看到下载成功的文件 redis-x.x.x.taz.gz
。去 redis官网 查看下载链接以及最新版本。
cd /usr/local
# 进入 /usr/local 目录
wget https://download.redis.io/releases/redis-X.X.X.tar.gz
# 下载最新的 redis ,此处我用 X.X.X 代替,因为 redis 是一直在更新的,所以你自己去官方查看
ls
# 看到有 redis-x.x.x.taz.gz ,说明下载成功
然后解压 redis-x.x.x.taz.gz
,输入 ls 查看解压后的目录 redis-x.x.x
,然后进入 redis-x.x.x
目录,输入 make
进行编译,编译完成后 进入 src
目录,输入 make install
进行安装
tar xzf redis-x.x.x.taz.gz
# 解压压缩包
ls
# 查看解压后的目录 redis-x.x.x
cd redis-x.x.x
# 进入解压后的 redis-x.x.x 目录
make
# 进行编译,此处时间可能会有点久
cd src && make install
# 进入src 目录并进行安装
# 出现下面显示,说明安装成功
/bin/sh: 1: pkg-config: not foud
cc Makefile.dep
/bin/sh: 1: pkg-config: not foud
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
然后创建 /etc/redis
目录,把 /usr/local/redis-X.X.X/redis.conf
文件复制到 /etc/redis/redis.conf
,复制完成后,再把 /usr/local/redis-.X.X.X/utils/redis_init_script
文件复制到 /etc/init.d/redis
mkdir -p /etc/redis
# 创建 /etc/redis 目录
cp /usr/local/redis-X.X.X/redis.conf /etc/redis/redis.conf
# 把配置文件复制到 /etc/redis 目录下
cp /usr/local/redis-.X.X.X/utils/redis_init_script /etc/init.d/redis
# 把启动脚本复制到 /etc/init.d 目录下,通常都以d结尾表示是后台自启动服务
然后进行 redis
配置文件设置
sed -i 's/daemonize no/daemonize yes/g' /etc/redis/redis.conf
# 把 daemonize 设置为 yes ,因为redis 默认不开启守护进程模式
sed -i 's/bind 127.0.0.1/bind */g' /etc/redis/redis.conf
# 如果要开启远程访问,就进行修改,* 代表任何地址都能访问,redis 默认是
# 只能本地访问,不过不想任何地址都能访问,就把 * 改成你的IP地址
sed -i 's/# requirepass foobared/requirepass 123456/g' /etc/redis.conf
# 此命令是设置redis密码设置成123456,redis默认是没有密码的。
# 如果你不想设置密码,可以不输入此命令设置密码
最后设置开机自启redis以及启动redis服务
update-rc.d -f redis defaults
# 设置开机执行脚本,也就是添加开机自启
service redis start
# 启动redis服务
redis-server -v
# 查看redis版本号,验证一下是否启动成功
ps -ef|grep redis
# 也可以输入此命令查看redis是否启动成功
遇到的错误解决方案:
如果遇到权限不足,切换成 root
用户或者命令加上 sudo
输入 redis-server
报错 bash: /usr/bin/redis-server: No such file or directory
解决方案
1、重启一下服务器。
2、或者建立软连接ln -s /usr/bin/redis-server /usr/local/bin/redis-server
3、或者添加环境变量path