最近公司的redis数据,需要在本地做初始化,初始化的数据比较多,然后复制到云端的redis上,但是云端的redis是在云端内网,redis是云端数据库,我们没有云端宿主机的密码,而且由于安全性DBA同事不同意将端口暴露到外网。
那么如何安全将数据迁移到云端的redis上面呢?
数据的迁移有三种方法:
(1)使用命令行将工具迁移。
(2)使用rdb文件覆盖
(3)使用redis客户端+ssh隧道写入redis
首先排除第二种方案,因为我们没有云端redis宿主机的密码,不可能将文件拷贝过去覆盖。而且云端的redis是集群形式的,数据是分散保存的,不是单机版的,不可能用覆盖数据的方式。
然后就是排除命令行工具,因为源数据跟目标数据是不同机房的,假如在两个不同的机房,两个机房都安装命令行工具,太浪费时间。最终还要解决ssh隧道的问题。
这里最终采用了使用yunedit-redis来做数据迁移。
yunedit-redis是一个客户端工具,因为它自带了ssh隧道功能,可以利用ssh隧道将数据通过云端的ssh端口,直接导入到机房内网的redis,这样我们只需知道redis的密码即可,也不需要知道云端redis宿主机的密码,即可完成数据的迁移。
方法如下,使用yunedit-redis连接源redis和目标redis,右键左侧的数据源,即可导入和导出,如下图所示:

它可以导出整个redis的数据,也可以导出单个db或者自定义导出。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。