zoukankan      html  css  js  c++  java
  • redis:aof恢复与rdb服务器间迁移

    1. aof恢复与rdb服务器间迁移:

    1.1. Aof恢复:

    如果不小心执行了flushdbflushall了怎么办?

    1)立马执行命令:shutdown nosave

    关闭服务器,为了防止其他人正在操作服务器触发重写aof,如果aof重写了,彻底没救了

    2)修改aof文件,删除最后一行的命令:flushdb (或flushall

    3)再次启动服务器,查看数据恢复

    操作流程如下:

    127.0.0.1:6379> set hello word

    OK

    127.0.0.1:6379> flushdb    #flushdbflushall危险命令

    OK

    127.0.0.1:6379> get hello

    (nil)

    127.0.0.1:6379> shutdown nosave   #关闭服务端

    [root@192 rdb]# vi appendonly6379.aof    #修改aof文件

    删除最后一行的:flushdb

    127.0.0.1:6379> get hello    #查看恢复的数据

    "word"

     

    1.2. Rdb迁移:(导入rdb文件)

    注:一台服务器的rdb文件导入到另一台服务器

    1)关闭redis服务:

    [root@192 redis]# pkill -9 redis

    2)拷贝rdb文件

    [root@192 redis]# cp redis.conf redis6383.conf   #拷贝配置文件

    3)修改redis6383的配置文件,修改内容如下:

    #appendonly yes    #关闭aof

    #port 6379

    port 6383

    save 900 1    #打开rdb

    save 300 10

    save 60 10000

    #dir ./

    dir /var/rdb        #

    #dbfilename dump.rdb

    dbfilename dump6383.rdb

    4)启动redis服务端、客户端

    #启动redis服务

    [root@192 redis]# ./bin/redis-server ./redis6383.conf

    #启动客户端

    [root@192 redis]# ./bin/redis-cli -p 6383

    127.0.0.1:6383> keys *   #没有数据

    (empty list or set)

    5)关闭redis服务

    6)产生最新的rdb文件

    启动redis-6379的服务后,客户端执行命令:bgsave  

    7)拷贝rdb文件:

    [root@192 rdb]# cp dump6379.rdb dump6383.rdb  

    8)启动redis服务端、客户端,查看数据:

    [root@192 redis]# ./bin/redis-server ./redis6383.conf

    [root@192 redis]# ./bin/redis-cli -p 6383

    127.0.0.1:6383> keys *

    1) "a"

    2) "xx"

  • 相关阅读:
    JAVA多线程知识点
    RabbitMQ和Springboot集成RabbitMQ知识点
    JAVA动态代理cglib或jdk
    [转]解决System.Data.SqlClient.SqlException (0x80131904): Timeout 时间已到的问题的一个方向
    [转]C#判断文档编码格式,并读取文档数据(防止出现乱码)
    create_linux命令写入到sh脚本并删除
    cmd cd切换到d盘
    sql 优化前后
    LISTAGG()WITHIN GROUP()
    使用shell递归遍历文件并打印所有文件名的绝对路径
  • 原文地址:https://www.cnblogs.com/reyinever/p/10041339.html
Copyright © 2011-2022 走看看