2018-05-21 15317
本文是实现关于阿里云上Redis(集群版)的迁移,其实非集群的也可以实现,实现的方式都是相同的,都是通过Redis-port实现,只不过集群版的.rdb(数据文件)多一些。
首先介绍下什么是Redis-port:Redis-port是github上的一款开源第三方软件,基于GO语言实现,主要是为Redis迁移服务。基本的四个功能是,decode(解码),restore(恢复),dump(导出),sync(同步),具体的操作方式如下:
redis-port decode [--ncpu=N] [--parallel=M] \ [--input=INPUT] \ [--output=OUTPUT]
redis-port restore [--ncpu=N] [--parallel=M] \ [--input=INPUT] [--faketime=FAKETIME] [--extra] [--filterdb=DB] \ --target=TARGET [--auth=AUTH] [--redis|--codis]
redis-port dump [--ncpu=N] [--parallel=M] \ --from=MASTER [--password=PASSWORD] [--extra] \ [--output=OUTPUT]
redis-port sync [--ncpu=N] [--parallel=M] \ --from=MASTER [--password=PASSWORD] [--psync] [--filterdb=DB] \ --target=TARGET [--auth=AUTH] [--redis|--codis] [--sockfile=FILE [--filesize=SIZE]]
以下是根据阿里云现有的Redis集群版实现的跨账号迁移操作具体如下:
因为我这是测试机没数据,先添点数据,写个python实现输出插入的语句200条:在DMS上插入打印出来的200条redis执行命令:查看下,插入数据成功:接着将数据rdb文件下载:先将实例全量备份,因为只插入了200条数据,所以数据量都是0M,,没关系反正有数据测试就ok,继续往下,点击右侧正常下载:
chmod u+x redis-port
mkdir logs
config get requirepass
1) 设置密码,config set requirepass 12345,将密码设置为12345,出现 NOAUTH Authentication required,表示需要密码登录,密码设置成功,接着通过auth 尝试登录:2) 导入rdb查看是否正常,导入hins4621549_data_20180521104058.rdb 显示OK,之后将所有的rdb文件导入:3) get a1的值 获到helloworld 成功。
config set requirepass 12345
ping r-bp154217ddd6dd14.redis.rds.aliyuncs.com
OK迁移完整,PS:在往redis数据库导入rdb文件时,需注意Redis的白名单的设置,要把ECS的内网放入进去不然会一直报错的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。