복붙노트

[REDIS] 어떻게 다른 컴퓨터에서 복사 스냅 샷 (RDB 파일)에서 레디 스 데이터를 복구하려면?

REDIS

어떻게 다른 컴퓨터에서 복사 스냅 샷 (RDB 파일)에서 레디 스 데이터를 복구하려면?

나는 원격 서버에 SCP를 사용하여 내 레디 스 스냅 샷 (dump.rdb 파일)을 전송. 나는이 원격에 레디 스 서버를 실행하고 dump.rdb 파일에서 데이터를 복구해야합니다. 내가 어떻게 할 수 있습니까?

해결법

  1. ==============================

    1.할 아무것도 특정이있다. 그냥 레디 스의 새 컴퓨터에 서버 및 편집 구성 파일을 설치합니다. 당신은 방금 복사 한 덤프 파일의 위치를 ​​가리 키도록 다음과 같은 매개 변수를 변경해야합니다.

    할 아무것도 특정이있다. 그냥 레디 스의 새 컴퓨터에 서버 및 편집 구성 파일을 설치합니다. 당신은 방금 복사 한 덤프 파일의 위치를 ​​가리 키도록 다음과 같은 매개 변수를 변경해야합니다.

    # The filename where to dump the DB
    dbfilename mydump.rdb
    
    # The working directory.
    #
    # The DB will be written inside this directory, with the filename specified
    # above using the 'dbfilename' configuration directive.
    # 
    # Also the Append Only File will be created inside this directory.
    # 
    # Note that you must specify a directory here, not a file name.
    dir /data/mydirectory/
    

    마지막으로, 레디 스 서버는 일반적인 방법으로 시작할 수 있습니다.

  2. ==============================

    2.appendonly 플래그가 no로 설정 데이터베이스의 경우, 다음을 수행 할 수 있습니다 :

    appendonly 플래그가 no로 설정 데이터베이스의 경우, 다음을 수행 할 수 있습니다 :

    반면에, 당신은 추가 할 전용 데이터베이스를 RDB 파일을 복원해야하는 경우의 라인을 따라 뭔가를해야한다 :

    특히,이는 레디 스 설정 파일 코멘트에서 문서의 관련 비트는 다음과 같습니다

    # Note that you can have both the async dumps and the append only file if you                                                     
    # like (you have to comment the "save" statements above to disable the dumps).                                                    
    # >> Still if append only mode is enabled Redis will load the data from the                                                          
    # >> log file at startup ignoring the dump.rdb file. 
    
  3. ==============================

    3.당신은 레디 스 2.6 이상을 실행한다고 가정하면, 당신의 레디 스는 파일 이름이 dump.rdb이며, 다음 명령은 트릭을 할 것, 디렉토리 / 홈 / 사용자 / DBS에 존재 스냅 샷 :

    당신은 레디 스 2.6 이상을 실행한다고 가정하면, 당신의 레디 스는 파일 이름이 dump.rdb이며, 다음 명령은 트릭을 할 것, 디렉토리 / 홈 / 사용자 / DBS에 존재 스냅 샷 :

    redis-server --dbfilename dump.rdb --dir /home/user/dbs
    

    공식 문서에서 관련 섹션 : 명령 줄을 통해 인수 전달

  4. ==============================

    4.또는 당신은 할 수 있습니다 :

    또는 당신은 할 수 있습니다 :

    레디 스를 종료하기 전에 스냅 샷을 저장하기 때문에이 파일을 대체합니다 있도록, 올바른 위치에 파일을 복사하기 전에 레디 스 서버를 중지하는 것이 중요합니다.

    게다가, 당신은 먼저 기존 dump.rdb 파일을 백업 할 수 있습니다.

  5. ==============================

    5.두 번째 서버에 레디 스를 시작, 그래서 같은 :

    두 번째 서버에 레디 스를 시작, 그래서 같은 :

    $ > redis-server /path/to/my/redis/configuration/file/redis.conf
    

    시작 레디 스 때이 이름을 찾습니다 때문에, 그것은 당신의 RDB 파일을 찾을 수 있습니다 사용자가 제공하는 구성 파일 (redis.conf) 및 파일 경로 이와 같이, 레디 스 서버를 시작합니다.

    파일 이름과 경로, 바로 편집 레디 스 소스의 루트 디렉토리에 제공되는 redis.conf 파일 템플릿 (두 개의 라인을 제공합니다. 서버를 시작하기에 공급하는 디렉토리 위치에 redis.conf으로 수정 된 버전을 저장합니다.

    당신은 라인 127 및 137 (레디 스 버전 2.6.9)에서 당신이 소스 최상위 디렉토리에있는 redis.conf 템플릿에 필요한 설정을 찾을 수 있습니다.

    # The filename where to dump the DB
    dbfilename dump.rdb
    
    # The working directory
    dir ./
    

    당신이 볼 수 있듯이, 기본적으로는 두 가지 설정을 모두 제공

    그래서 당신의 RDB 파일을 식별하기 위해이 두 라인 (127)의 첫 번째 변경 및 제 (137)는 실제 파일 경로에 대한 디폴트 "./"대신에 스냅 샷의 RDB 파일; 변경으로 redis.conf을 저장하고,이 새로운 conf의 파일을 전달 레디 스를 시작합니다.

  6. ==============================

    6.더 appendonly 설정하려고합니다. 내 경우, * 파일 .aof (0 바이트), 더 후 = appendonly 설정되지는 dump.rdb를로드해야 비어

    더 appendonly 설정하려고합니다. 내 경우, * 파일 .aof (0 바이트), 더 후 = appendonly 설정되지는 dump.rdb를로드해야 비어

  7. ==============================

    7.나는 여기에 언급되지 않은 작은 세부 사항을 추가하고 싶습니다 나는 설정 파일을 사용하는 대신 명령 줄에서 모든 것을 지정하지 않습니다.

    나는 여기에 언급되지 않은 작은 세부 사항을 추가하고 싶습니다 나는 설정 파일을 사용하는 대신 명령 줄에서 모든 것을 지정하지 않습니다.

    레디 스 서버를 시작할 때 mydump.rdb 및 appendonly.aof 파일의 양쪽 모두를 지정하면 appendonly.aof의 데이터가로드되는 그런 승리 appendonly.aof 파일이 될 것입니다. 예를 들면 :

    redis-server --dbfilename mydump001.rdb --dir /data --appendonly yes
    

    위의 시작 호출 mydump001.rdb 또는 appendonly.aof 파일의 존재를 찾기 위해 / 디렉토리 위치를 사용합니다. 이 경우, 레디 스 서버는 appendonly.aof에서 내용을로드합니다. appendonly.aof이 존재하지 않는 경우, 빈 /data/appendonly.aof와 레디 스 서버가 비어를 만듭니다.

    특정 덤프 파일을로드하려면, 당신은 할 수 있습니다 :

    redis-server --dbfilename mydump001.rdb --dir /data
    

    어느 것이 어느 명확하지 않다 사촌 나는이 대답을했다. 2 개 백업 파일의 존재,이 종종 언급되지 않습니다.

  8. from https://stackoverflow.com/questions/14497234/how-to-recover-redis-data-from-snapshotrdb-file-copied-from-another-machine by cc-by-sa and MIT license