Redis病毒,数据变成backup
环境: 阿里云服务器(Ubuntu22.04系统) ,docker部署redis,redis 7.2.3版本。
前提说明: 我是通过docker外部挂载创建的redis容器,文章最后有
异常说明: redis数据丢失,数据变成四个backup,如下图所示:
解决方案:
- 第一步: 找到你外部挂载的目录,找到redis.conf文件,开启保护模式,如果你是redis.conf原文件,大概在第80行左右,修改如下图:
- 第二步: 找到requirepass配置,配置好你的密码,源文件大概在第480行左右,修改如下:
- 第三步: 进入你的阿里云服务器控制台,找到安全组选项,点击管理规则,点击编辑,源设置为你的ip地址,点击保存。
一些说明:
- 一:为什么不设置bind绑定我的电脑IP?
- 先说结果: bind绑定的是本机的网卡地址,不是请求来源的IP
- 解释:根据官方在这段文字里的描述,bind配置的是redis-server网络接口的地址,就是网卡地址,这里配置的是网卡地址,也就是你通过ifconfig命令看到的几个网卡的地址,不是外部访问的ip地址。
- 二:如何进行外部挂载文件启动?
- 第一步:在任意目录下创建redis目录,例如:在usr目录下创建redis目录,分别创建出conf和data目录
cd /usr
sudo mkdir redis
cd redis
sudo mkdir conf
sudo mkdir data
- 第二步,启动容器,将主机的redis目录挂载到容器内部的 /usr/local/etc/redis 目录
docker run \
--name redis \
-v /usr/redis/conf:/usr/local/etc/redis \
-v /usr/redis/data:/data \
-d -p 6379:6379 \
redis \
redis-server /usr/local/etc/redis/redis.conf
- 第三步,在/usr/redis/conf目录下创建redis.conf文件,并进行修改,具体redis.conf文件网上很多。