场景分析有个大佬说我们要把redis从一台机器迁移到另一台机器。现有两台机器的redis环境和状态都启动了,还有本地连接使用rdm连接两台机器。开始第一步:找到本机存放redis存储文件的位置打开rdm,右击redis数据库,选择Console打开redis命令控制台,输入命令:CONFIGGETdirOutput:1)"dir"2)"/"说明redis将文件dump.rdb(文件名是redis.conf文件的默认配置)存放在服务器根目录/。第一步重复上述步骤,分别找出两台机器的redis的dump.rdb位置;第二步:关闭目标服务器。更喜欢选择;但是在进行下一步之前必须先关闭redis服务器,否则迁移会失效(不知道为什么);第三步:将源服务器的dump.rdb文件复制到目标服务器的指定位置。可以通过命令行来实现。当时笔者使用命令行,直接在源服务器上输入命令(该命令会覆盖目标服务器上指定路径下的文件):scppath/to/dump.rdbserverUserName@serverIp:path/to/dump.rdb回车,需要输入密码,输入的密码是看不到的。你在脑中想象自己输入的字符,确定没有问题,直接回车。如果没有问题,说明源服务器的dump.rdb文件已经传输完毕。第四步:如何启动目标服务器的redis服务这里不做描述,可以通过第三方工具或者命令来启动,大家可以根据自己的喜好选择;第五步:验证目标服务器的redis数据是否已经迁移。此时打开rdm,右键目标服务器的redis数据库,选择Reload;这时可以看到redis数据库已经迁移完成。综上所述,我意识到迁移redis数据库并没有想象中那么难。关键是在实际操作的过程中会踩到一些坑,不明白为什么一定要关闭目标服务器的redis服务才能进行替换迁移。可能和redis一样存储在内存中,跟数据持久化有关系。
