情景分析
某大佬說,我們要把一部機器的
redis
遷移到另外一部機器上面。現已存在兩部機器的redis
環境及狀態是啟動,還有本地用rdm
連線著兩部機器的connection。
開始
第一步:查詢redis
儲存檔案存放在機器的位置
開啟rdm
,右擊redis
資料庫,選擇Console
開啟redis
命令控制檯,輸入命令:
CONFIG GET dir
輸出:
1) "dir"
2) "/"
說明redis
儲存檔案dump.rdb
(檔名是redis.conf
檔案預設配置的)在伺服器的根目錄/
下。
重複第一步的上述步驟分別找出兩部機器redis
的dump.rdb
位置;
第二步:關閉目標伺服器redis
具體怎麼關閉這裡不闡述,但可以通過第三方工具關閉和通過命令關閉,具體可以根據喜好選擇;但一定要先關閉redis
伺服器才進行下一步,否則遷移無效(不知道為何);
第三步:複製源伺服器dump.rdb
檔案到目標伺服器指定位置
這一步可以通過ftp等工具實現,也可以通過命令列實現。當時筆者用的是命令列,直接在源伺服器上敲打命令(此命令會覆蓋目標伺服器上指定路徑的檔案):
scp path/to/dump.rdb serverUserName@serverIp:path/to/dump.rdb
回車,需要輸入密碼,輸入的時候不可見輸入的密碼,自己在大腦中臆想已輸入的字元,確保沒問題,直接回車。如果沒問題的話,表示已經將源伺服器的dump.rdb
檔案傳輸過去了。
第四步:啟動目標伺服器的redis
服務
具體怎麼啟動這裡不闡述,但可以通過第三方工具啟動和通過命令啟動,具體可以根據喜好選擇;
第五步:驗證目標伺服器的redis
資料是否已經遷移完畢
這個時候,開啟rdm
,右擊目標伺服器的redis
資料庫,選擇Reload
;這個時候就可以看到redis
資料庫已經遷移完成了。
總結
原來才知道遷移
redis
資料庫沒想象中那麼難,關鍵是在實際操作過程中會踩到一些坑,其中也不明白為何要先關閉目標伺服器的redis
服務才可以進行替換和遷移,或許跟redis是儲存在記憶體和資料持久化有關係吧。