说明
如果目标实例为集群架构,您需要通过直连地址连接(网络类型为专有网络),且在填写连接地址时需要添加
master@
前缀,例如
master@r-bp1mfnrflszg75w****.redis.rds.aliyuncs.com:6379
。关于如何申请直连地址,请参见
开通直连访问
。
r-bp1wcw2rlw76acc5k****.redis.rds.aliyuncs.com:6379
target.password_raw
(必填)
目标Redis实例的账号(需具备
读写
权限)及其密码,账号和密码之间使用英文冒号(:)分隔。关于如何创建账号,请参见
创建与管理账号
。
testaccount:Rp829dlwa
target.db
(选填)
将源库中所有库的数据都迁移至目标库的指定库中,取值范围为
0
~
15
。
说明
默认值为
-1
,表示不启用该功能。
key_exists
(选填)
当源库中的Key与目标库中的Key相同时,采取的数据写入策略,取值:
rewrite
:覆盖写入至目标库。
none
:默认值,停止运行Redis-shake程序并提示冲突的Key。
ignore
:直接跳过当前迁移的Key,保留目标库的数据,继续执行数据迁移。
rewrite
filter.db.whitelist
(选填)
需要迁移的库名,多个库名间用英文分号(;)分隔,默认为空,即迁移所有库。
filter.db.blacklist
(选填)
不需要迁移的库名(即黑名单),多个库名间用英文分号(;)分隔。默认为空,即不设置黑名单。
按下ECS键退出编辑模式,输入
:wq
并按回车键保存配置并退出编辑界面。
执行下述命令启动Redis-shake,开始执行数据迁移:
./redis-shake.linux -type=sync -conf=redis-shake.conf
Redis-shake将在屏幕上打印运行的日志信息。
说明
如果出现提示报错,相关原因及解决方法,请参见
常见报错及解决方法
。
全量数据迁移
2020/12/16 21:02:36 [INFO] DbSyncer[0] total = 4.00MB - 2.18MB [ 54%] entry=52199
2020/12/16 21:02:36 [INFO] DbSyncer[0] total = 4.00MB - 4.00MB [100%] entry=97531
2020/12/16 21:02:36 [INFO] DbSyncer[0] sync rdb done
说明
当打印的日志出现
sync rdb done
,表示完成全量数据迁移,接下来进入增量数据迁移阶段。
增量数据迁移
2020/12/16 21:03:07 [INFO] DbSyncer[0] sync: +forwardCommands=5 +filterCommands=0 +writeBytes=5095
2020/12/16 21:03:08 [INFO] DbSyncer[0] sync: +forwardCommands=7 +filterCommands=0 +writeBytes=7133
2020/12/16 21:03:09 [INFO] DbSyncer[0] sync: +forwardCommands=0 +filterCommands=0 +writeBytes=0
2020/12/16 21:03:10 [INFO] DbSyncer[0] sync: +forwardCommands=645 +filterCommands=0 +writeBytes=657255
2020/12/16 21:03:11 [INFO] DbSyncer[0] sync: +forwardCommands=28 +filterCommands=0 +writeBytes=28532
2020/12/16 21:03:12 [INFO] DbSyncer[0] sync: +forwardCommands=0 +filterCommands=0 +writeBytes=0
日志信息中各参数说明如下:
forwardCommands
:源库发送过来的命令数。
filterCommands
:被过滤的命令数,例如在Redis-shake配置文件中设置了过滤某些库。
writeBytes
:源库发送过来的字节数。
云数据库 Redis
阿里云数据库 Redis 版(ApsaraDB for Redis)是兼容开源 Redis 协议的 Key-Value 类型在线存储服务。它支持字符串(String)、链表(List)、集合(Set)、有序集合(SortedSet)、哈希表(Hash)等多种数据类型,及事务(Transactions)、消息订阅与发布(Pub/Sub)等高级功能。通过“内存+硬盘”的存储方式,云数据库 Redis 版在提供高速数据读写能力的同时满足数据持久化需求。
云数据库 RDS
阿里云关系型数据库(Relational Database Service,简称RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和SSD盘高性能存储,RDS支持MySQL、SQL Server、PostgreSQL、PPAS(Postgre Plus Advanced Server,高度兼容Oracle数据库)和MariaDB引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。
数据传输服务 DTS
数据传输(Data Transmission)是阿里云提供的一种支持RDBMS(关系型数据库)、NoSQL、OLAP等多种数据源之间数据交互的数据服务。它提供了数据迁移、实时数据订阅及数据实时同步等多种数据传输能力。通过数据传输可实现不停服数据迁移、数据异地灾备、跨境数据同步、缓存更新策略等多种业务应用场景,助您构建安全、可扩展、高可用的数据架构。