hydd的Linux笔记Day65( 三 )


备份数据
[root@redisA ~]# cd /var/lib/redis/6379/[root@redisA 6379]# lsdump.rdb[root@redisA 6379]# cp dump.rdb/tmp/dump.rdb//备份dump.rdb文件[root@redisA 6379]# scp/tmp/dump.rdbroot@192.168.4.56:/root/ //传递备份文件给目标主机
删除数据 (56主机模拟误删除数据)
[root@redis56 ~]# redis-cli -h 192.168.4.56 –p 6356//连接服务192.168.4.56:6356> flushallOK192.168.4.51:6379> keys *//已经没有数据(empty list or set)192.168.4.56:6356> exit

hydd的Linux笔记Day65

文章插图
恢复数据(56主机使用备份文件恢复数据)
[root@redis56 ~]# /etc/init.d/redis_6379 stop//停止服务Stopping ...Waiting for Redis to shutdown ...Redis stopped[root@redis56 ~]# [root@redis56 ~]# rm-rf/var/lib/redis/6379/*//清空数据库目录[root@redis56 ~]# cp/tmp/dump.rdb/var/lib/redis/6379/ //拷贝备份文件到数据库目录下[root@redis56 ~]# /etc/init.d/redis_6379start//启动服务Starting Redis server...[root@redis56 ~]# redis-cli -h 192.168.4.56 –p 6356 //访问服务192.168.4.56:6356> keys *//查看数据1) "v7"2) "v46"3) "v45"4) "v8"5) "v4"6) "v2"7) "v1"8) "v3"9) "v9"10) "v10"192.168.4.56:6356>
RDB优点与缺点
优点:
? 高性能的持久化实现——创建一个子进程来执行持久化,先将数据写入临时文件,持久化过程结束后,再用这个临时文件替换上次持久化好的文件;过程中对数据完整性要求不是非常高 。
? 比较适合大规模数据恢复,且对数据完整性要求不是非常高的场合 。
缺点:
? 意外宕机时,丢失最后一次持久化的所有数据 。
AOF AOF介绍
? 追加方式记录写操作的文件,记录redis服务所有写操作,追加到文件末尾,默认没有启用,使用cat命令可以查看文件内容 。
启用AOF
>config set appendonly yes>config rewrite
使用AOF文件恢复数据
1)修改配置文件
[root@redisA ~]# redis-cli -h 192.168.4.51 –p 6351 -a 123456 //连接服务192.168.4.51:6351>configsetappendonly yes//启用aof,默认no192.168.4.51:6351> configrewrite //写进配置文件192.168.4.51:6351> save192.168.4.51:6351> exit[root@redisA ~]# ls/var/lib/redis/6379///会出现appendonly.aof文件appendonly.aofdump.rdb
2)备份AOF文件
[root@redisA ~]# cd /var/lib/redis/6379/[root@redisA 6379]# cp appendonly.aof /tmp/appendonly.aof[root@redisA 6379]# scp /tmp/appendonly.aofroot@192.168.4.57:/root///传递备份文件给目标主机
3)删除数据(在57主机 默认数据误删除)
[root@redis57 ~]# redis-cli -h 192.168.4.57 -p 6357//连接服务192.168.4.57:6357> flushall//清除数据OK192.168.4.57:6357> keys * //查看数据(empty list or set)192.168.4.57:6357> exit
使用AOF文件恢复数据
[root@redis57 ~]# vim +673 /etc/redis/6379.confappendonlyyes//启用AOF:wq[root@redis57 ~]#[root@redis57 ~]# /etc/init.d/redis_6379 stop//停止服务Stopping ...Waiting for Redis to shutdown ...Redis stopped[root@redis57 ~]# [root@redis57 ~]#/etc/init.d/redis_6379start //启动服务Starting Redis server...[root@redis57 ~]# [root@redis57 ~]# rm-rf/var/lib/redis/6379/* //删除没有数据的文件[root@redis57 ~]# cp/root/appendolny.aof /var/lib/redis/6379///拷贝文件[root@redis57 ~]# /etc/init.d/redis_6379start//启动服务Starting Redis server...[root@redis57 ~]# redis-cli -h 192.168.4.57 -p 6357 //连接服务192.168.4.57:6357> keys *//查看数据1) "v9"2) "v5"3) "v8"4) "v2"5) "v1"6) "v4"7) "v10"8) "v6"9) "v7"10) "v3"192.168.4.57:6357>
优化配置
定义文件名
appendonly yes//启用aofappendfilename ”文件名“//指定文件名
AOF文件记录写操作的方式
appendfsync always//时时记录,并完成磁盘同步appendfsync everysec //每秒记录一次,并完成磁盘同步appendfsync no//写入aof,不执行磁盘同步