1

情景分析

某大佬说,我们要把一部机器的redis迁移到另外一部机器上面。现已存在两部机器的redis环境及状态是启动,还有本地用rdm连接着两部机器的connection。

开始

第一步:查找redis存储文件存放在机器的位置

打开rdm,右击redis数据库,选择Console打开redis命令控制台,输入命令:

CONFIG GET dir

输出:

1)  "dir"
2)  "/"

说明redis存储文件dump.rdb(文件名是redis.conf文件默认配置的)在服务器的根目录/下。
重复第一步的上述步骤分别找出两部机器redisdump.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是存储在内存和数据持久化有关系吧。

Juven
127 声望4 粉丝