Redis数据迁移

将集群 A 数据最终迁移到阿里云reids C 上

由于各种网络限制的原因,加了个中转的redis,当然这些ip都是假的

A (192.168.1.1)源集群

B (192.168.2.2) 中转数据

C (192.168.3.3) 目标集群

A只能与B通信 C也只能与B通信 ,C是个阿里云的pass服务,无法直接加载rdb文件

一、源集群A查看

  1. 连接redis集群

    ./redis-cli -c -h 192.168.1.1 -p 6379 -a '密码'

  2. 查看reids服务信息

    info server

  3. 统计数据库键空间的信息

    info keyspace

二、导出数据

2.1 导出rdb文件

bash 复制代码
/opt/redis/bin/redis-cli -c -h 192.168.1.1 -p 6379 -a 'kn88213**27' --rdb /data/great/dumped_source.rdb

2.2. 通过scp传输到B

bash 复制代码
scp -r -P 22 /data/great/dumped_source.rdb  root@192.168.2.2:/data/great/

三、搭建中转的redis B,并替换rdb文件

3.1 临时安装了一个redis 中转数据,安装步骤省略

3.2 . 停止redis服务

bash 复制代码
ps -ef|grep redis
kill -9 进程号

3.3. 将A导出的rdb文件,放到B下的数据目录

bash 复制代码
mv /data/great/dumped_source.rdb  /data/soft/redis/bin

3.4. 删除原来的dump.rdb,并替换

bash 复制代码
rm -rf dump.rdb
mv dumped_source.rdb dump.rdb

3.5 然后启动 B redis

bash 复制代码
./redis-server /etc/redis.conf

3.6. 登录查看数据是否恢复成功

bash 复制代码
/data/soft/redis/bin/redis-cli -p 6319
info keyspace

四、通过 redis-shake 工具将数据同步到 C 192.168.3.3

4.1 清空目标库

bash 复制代码
/data/soft/redis/bin/redis-cli -h 192.168.3.3 -p 6379 -a 'p8122295s9YtHUG3Yv7'

清空

bash 复制代码
select 3
flushdb

4.2 下载redis-shake工具解压,修改配置文件shake.toml
https://github.com/tair-opensource/RedisShake/releases

bash 复制代码
redis-shake-v4.5.0-linux-amd64.tar.gz

修改配置文件

bash 复制代码
cd /data/soft/shake 
vim shake.toml
bash 复制代码
[sync_reader]
address = "127.0.0.1:6319"
sync_aof = false 
[redis_writer]
address = "192.168.3.3:6379"
password = "122295s9YtHUG3Yv7"
[filter]
allow_db = [8]
function = """
if DB == 8 then
    shake.log("Moving key '" .. KEYS[1] .. "' from DB8 to DB7")
    shake.call(7, ARGV) -- 将命令的目标数据库改为 3
else
    -- 理论上,由于 allow_db=[8],这里的代码不会被执行到
    shake.log("Skipping DB " .. DB)
end
"""

4.3 启动redis-shake工具开始同步

bash 复制代码
./redis-shake shake.toml
相关推荐
梁辰兴1 小时前
软件工程:数据结构设计
数据库·软件工程·设计原则·设计方法·梁辰兴·数据库结构设计·数据库结构类型
AC赳赳老秦2 小时前
风控岗应用:OpenClaw 采集公开司法与经营异常数据,自动生成企业风险评估报告
大数据·c语言·数据库·人工智能·python·php·openclaw
灯澜忆梦2 小时前
【MySQL18】进阶篇 | MySQL管理
数据库·mysql
zcmodeltech3 小时前
智能制造教学实训沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的工业机器人-智慧工厂-数字孪生全场景联动方案
数据库·stm32·嵌入式硬件·机器人·制造·多分类
AI多Agent协作实战派3 小时前
AI多Agent协作系统实战(四十):AI说“没有错误“,系统判了“测试失败“——一个正则的误判
数据库·人工智能
隔窗听雨眠4 小时前
OceanBase接入DeepSeek:数据库与AI的深度融合如何改写企业数据规则
数据库·人工智能·oceanbase
playboy1344 小时前
工作室 NAS 存储故障-办公室所有数据无法访问怎么办
数据库
byxdaz5 小时前
jeston平台交叉编译Poppler库与预览pdf文件
数据库
SilicoCode5 小时前
江科大STM32入门:FLASH闪存详解——从结构原理到读写保护
数据库·mongodb
谷哥的小弟5 小时前
腾讯云服务器安装Redis Stack图文教程
服务器·redis·腾讯云·redis stack