2014-10-03 160 views
0

我在Windows 8計算機上啓用了RDB持久性的Redis服務器(v.2.4.6)。我想模擬一個Redis故障並重置,所以我可以對我的備份過程更有信心。Redis失敗備份模擬

我發現了很多關於redis持久性和備份的信息,但我無法弄清楚發生故障後該怎麼做。

我已經嘗試複製我的dump.rdb與大量的數據文件夾中的測試數據,然後卸載/重新安裝redis,將原始dump.rdb文件粘貼到新的數據文件夾並運行。當我運行命令「keys *」時,它表示空列表或設置。

那麼,我該如何模擬redis數據庫的故障,然後恢復它呢?

編輯:我覆蓋rdb文件之前,我關機redis,導致覆蓋。現在,這些是我用來模擬故障和備份的步驟。

  1. 我停止Redis的服務
  2. 我用覆蓋從測試數據庫RDB文件dump.rdb文件(另一臺服務器上)
  3. 我嘗試再次啓動Redis的服務,但我得到的錯誤「本地計算機上的Redis服務器服務已啓動,然後停止。某些服務如果未被其他服務或程序使用,則會自動停止。」

如果我刪除了rdb文件,我可以啓動該服務,並在同一位置創建一個空的rdb文件。

以下是它在redis.log文件中顯示的內容:「無法處理RDB格式版本6」,但兩個數據庫都使用完全相同版本的redis。

回答

0

我想通了。顯然,我的測試數據庫使用了不同版本的redis(我認爲它們是相同的)。我從一個使用v 2.4.6的測試數據庫中獲得了另一個rdb文件,並且按預期加載了一切。

0

查看您的redis.conf文件的SNAPSHOTTING部分。 您的rdb轉儲文件名和路徑在那裏定義(單獨的參數)。

請確保您將轉儲放在正確的文件夾中並且名稱正確,當您啓動Redis時會進行恢復。

如何處理您的Redis進程以模擬失敗?

+0

感謝您的迴應,這基本上是我一直在做的。我對我原來的問題做了一些編輯。新的信息會給你更多的想法嗎? – erics2783 2014-10-06 21:38:45

0

轉到Redis的穩定目錄並運行 ./src/redis-server

爲我工作。