• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
孙龙 程序员
少时总觉为人易,华年方知立业难
博客园    首页    新随笔    联系   管理    订阅  订阅
redis安装以及故障恢复

redis安装

目录规划:

### redis 下载目录
/data/soft/[
### redis 安装目录
/opt/redis_cluster/redis_{PORT}/{conf, logs, pid}
### redis 数据目录
/data/redis_cluster/redis_{PORT}/redis_{PORT}.rdb
### redis 运维脚本
/root/scripts/redis_shell.sh

安装命令:

编辑 hosts 文件
神料料
[root@db01 ~]# tail -3 /etc/hosts
10.0.0.51 db01
10.0.0.52 db02
10.0.0.53 db0s
mkdir -p /data/soft
mkdir -p/data/redis_cluster/redis_6379
mkdir -p /opt/redis_cluster/redis_6379/{conf, pid, logs)
cd /data/soft/
wget http://dowload.redis.io/releases/redis-3.2.9.tar.gz
tar -zxf redis-3.2.9.tar.gz -C /opt/redis_cluster/
In -s opt/redis_cluster/redis-3.2.9/   /opt/redis_cluster/redis
cd /opt/redis_cluster/redis
make && make install

配置文件说明

###以守护进程模式启动
daemonize yes
###绑定的主机地址
bind 10.0.0.51 127.0.0.1
###监听端口
port 6379
### pid 文件和 1og 文件的保存地址
pidfile /opt/redis_cluster/redis_6379/pid/redis_6879.pid
logfile /opt/redis_cluster/redis_6379/logs/redis_6379.log
###设置数据库的数量,默认数据库为 0
databases 16
###指定本地持久化文件的文件名,默认是 dump.rdb
dbfilename redis_6379.rdb
### 本地数据库的目录
dir /data/redis_cluster/redis_6379

 

启动和关闭

###启动
[root@db01 ~]# redis-server /opt/redis_cluster/redis_6379/conf/redis_6379.conf
### 关闭
# redis-cli -h db0l shutdown

 

redis持久化

RDB 持久化优缺点
可以在指定的时间间隔内生成数据集的 时间点快照(point-in-time snapshot)。
优点:速度快,适合于用做备份,主从复制也是基于 RDB持久化功能实现的。
缺点:会有数据丢失

 

rdb 持久化核心配置参数:

vim /data/6379/redis.conf
dir /data/6379
dbfilename dump.rdb

save 900 1 #900秒(15分钟)内有1个更改
save 300 10 #300秒(5分钟)内有10个更改
save 60 10000 # 60秒内有 10000个更改

AOF持久化(append-only log file)优缺点

记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。
优点:可以最大程度保证数据不丢
缺点:日志记录量级比较大

AOF持久化配置

appendonly yes #是否打开 aof 日志功能
appendfsync always #每1个命令,都立即同步到 aof
appendfsync everysec #每秒写1次
appendfsync no #写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到 aof.

 

 

(Redis)持久化方式有哪些?有什么区别?
rdb:基于快照的持久化,速度更快,一般用作备份,主从复制也是依赖于rib持久化功能
aof:以追加的方式记录redis操作日志的文件。可以最大程度的保证redis数据安全,类似于mysql的二进制日志

 

 

 

 

 

隐藏条件:
1.如果同时有AOF和RDB存在,重启的时候,载入的是AOF文件

2.shutdown

  • bgsave
  • shutdown

 

 

redis安全认证

redis默认开启了保护模式,只允许本地回环地址登录并访问数据库
禁止protected-mode
protected-mode yes/no(保护模式,是否只允许本地访问)

(1)Bind :指定 IP 进行监听
[root@db01 ~]# vim /opt/redis_cluster/redis_6379/conf/redis_6379.conf
bind 10.0.0.51 127.0.0.1

(2)增加requirepass   {password}

[root@db01 ]# vim /opt/redis_cluster/redis_6379/conf/redis_6379. conf
requirepass 123456



验证方法一:
[root@db01~]#redis-cli  -a 123456   

127.0.0.1:6379> set k1 v1

OK

验证方法二:

[root@db01~]#redis-cli
127.0.0.1:6379> sauth 123456
ok

 

主从复制:

 

  • 1.从库向主库发起同步请求
  • 2.主库接收到从库的同步请求
  • 3.主库开始bgsave生成rdb文件
  • 4.主库生成完之后,保存到磁盘成功
  • 5.主库将RDB文件发送给从库
  • 6.从库接收主库的RDB文件:
  • 7.从库清空自己所有的数据
  • 8.从库将接受的RDB文件载入到内存中

SLAVEOF 10.0.0.52 6379  绑定主从

SLAVEOF no one 解除主从

 

 

模拟的场景:

  • 1.备份了数据
  • 2.但是主库不小心同步了空的从库
  • 3.主库恢复数据

 模拟操作失误:

 模拟恢复

 

模拟主库故障

 

本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/p/18341995

posted on 2024-08-04 17:18  孙龙-程序员  阅读(25)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3