根據官方文檔html
https://help.aliyun.com/document_detail/26357.htmlredis
官方文檔的意思是,只能將ECS上的redis數據遷移至redis實例,數據庫
可是因爲要從一臺redis實例遷移至另外一臺redis實例,則須要使用中轉redis服務的辦法才能遷移。服務器
下面開始介紹方法。app
若是你的redis是2.8以上的則能夠直接略過升級步驟,直接移步到遷移步驟。阿里雲
使用命令後發現--pipe參數沒法識別,spa
查看redis-cli版本居然是2.4.net
官網此時已是3.2.4,遂臨時安裝,僅用於遷移兩臺阿里雲redis的數據。unix
以CentOS 6.5爲例server
先安裝tcl8.5,若是沒有安裝GCC編譯器,須要先安裝,網上自行找方法,否則編譯會失敗。
wget http://downloads.sourceforge.net/tcl/tcl8.5.10-src.tar.gz
tar -zxvf tcl8.5.10-src.tar.gz
cd tcl8.5.10/unix
./configure
make
make install
#安裝redis3.2.4
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
tar -zxvf redis-3.2.4.tar.gz
cd redis-3.2.4
make
make test //查看一下是否有錯誤
make install
遷移步驟開始
進入阿里雲redis控制檯,備份一下最新的數據庫文件,下載回來,上傳至同一內網的ESC中。
好比上傳至~/db.rdb文件。
#使用阿里雲下載的rdb文件覆蓋當前臨時redis的數據庫文件
注意路徑/root/redis-3.2.4/src爲默認的安裝路徑,只作臨時中轉服務器用。
cp ~/db.rdb /root/redis-3.2.4/src/dump.rdb
#啓動臨時redis服務
若是當前服務器運行有redis,必須將其中止運行,否則端口會衝突。
./redis-server /root/redis-3.2.4/redis.conf
#新建一個會話,開啓AOF持久化,並查看數據是否正常。
cd /root/redis-3.2.4/src/
#進入redis控制檯
./redis-cli
#查看記錄數
dbsize
#開啓AOF持久化,用於生成AOF文件並導入新redis實例
config set appendonly yes
#退出
exit
#導入到新redis服務器中。
./redis-cli -h redis連接地址 -p 6379 -a 實例ID:redis密碼 --pipe < appendonly.aof
#直到看到提示,說明導入完畢,查看是否錯誤。
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 11246304
#登入新服務器中查看是否導入成功
./redis-cli -h redis連接地址 -p 6379 -a redis密碼
#查看記錄數
dbsize
#退出
exit
導入完畢後,須要等待數分鐘,新的redis實例控制檯纔會刷新配額。可是控制檯操做查看是實時的。