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
相关推荐
这个DBA有点耶4 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G4 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备4 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远4 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
IT大白鼠4 天前
Redis 系列 · 第 01 篇——认知入门:Redis 是什么
redis·nosql
彧azz4 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
2601_962218614 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
全栈弄潮儿²⁰²⁴4 天前
AI Agent 开发实战(30):限流、缓存与成本控制
人工智能·gpt·缓存·agent·限流·agi·成本控制
张洛闻Eren4 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安4 天前
MySQL-触发器
数据库·mysql