在阿里云提供的数据传输服务(DTS)中,并没有提供redis的支持。请问如何进行迁移?
使用 redis-port 命令进行迁移:
/redis-port restore --input=******.rdb --target=*****.redis.rds.aliyuncs.com:6379 --auth=****** --redis
总是报错:
2017/04/29 15:46:31 utils.go:216: [PANIC] RESTORE command error [error]: ERR wrong number of arguments for 'restore' command [stack]: 1 /home/travis/gopath/src/github.com/CodisLabs/redis-port/cmd/utils.go:216 main.restoreRdbEntry 0 /home/travis/gopath/src/github.com/CodisLabs/redis-port/cmd/restore.go:102 main.(*cmdRestore).RestoreRDBFile.func1.1
用 github 上的 redis 迁移工具 redis-migrate-tool 轻松搞定:
0)在阿里云redis控制台下载要迁移的redis实例的全量备份文件,比如 hins-xxxxxx.rdb
1)编译生成 redis-migrate-tool
$ git clone https://github.com/vipshop/redis-migrate-tool.git $ cd redis-migrate-tool $ autoreconf -fvi $ ./configure $ make
2)修改 redis-migrate-tool 的 rmt.conf 配置文件
[source] type:rdb file servers : -/data/hins-xxxxxx.rdb [target] type:single servers: -xxxxxx.redis.rds.aliyuncs.com:6379 redis_auth:xxxxxx
3)用下面的命令完成迁移
src/redis-migrate-tool -c rmt.conf -o log -d
也可以用下面的命令直接在控制台显示输出
src/redis-migrate-tool -c rmt.conf
mark下 以后用到