Redis 数据同步&&迁移
方式一:redis-dump
前置
安装redis-dump
https://blog.csdn.net/zhanaolu4821/article/details/103684237
数据导出
## -u uri
## -a 密码
## -d database
## 导出所有库
/usr/local/bin/redis-dump -u 127.0.0.1:63790 -a 123456 > /data/dba/yanhao/test/testredis.json
## 导出指定库
/usr/local/bin/redis-dump -u 127.0.0.1:63790 -a 123456 -d 0 > /data/dba/yanhao/test/testredis.json
数据导入
< /data/dba/yanhao/test/testredis.json /usr/local/bin/redis-load -u 127.0.0.1:10010 -a 123456
方式二:拷贝文件
-
关闭源redis
-
拷贝源redis文件dump.rdb到目标redis目录下
bgsave
config get dir
shutdown save
- 启动新的redis
将redis-rdb-tools生成的分析文件导入mysql中分析
- 在本地mysql上修改secure_file_priv,只能在my.cnf上改
secure_file_priv=""
- 创建表结构
create table rediscsv(db varchar(10), type_value varchar(10), key_value varchar(10),size_byte bigint, encoding varchar(10), num_value int, len_largest_value int);
## 数据库
## 类型
## key
## 字节大小
## 编码方式
## 值的数量
## 值的最大长度
- 导入数据
load data infile '/data/dba/yanhao/test/testRdbAnalyze.csv' into table rediscsv fields terminated by ',' enclosed by '"' lines terminated by '\n' ignore 1 rows;
方式三:RedisShake数据同步
安装
wget https://github.com/tair-opensource/RedisShake/releases/download/v4.2.0/redis-shake-linux-amd64.tar.gz
最佳实践
单点到单点
配置密码以及sync_reader中的adress即可,redis_write下的address
## 配置data目录
主从到主从
配置主节点ip:端口
配置data目录
配置password
哨兵到哨兵
同上 “主从到主从”
注意:哨兵模式中进行failover之后,redisshake并不会检测到,配置的主节点变了,会直接断开,进程直接退出。
需要修改redis_writer下的sentinel和master
sentinel = true
master = "mymaster"
主从节点:127.0.0.1:10000,127.0.0.1:10001
sentinel节点:127.0.0.1:10002,127.0.0.1:10003,127.0.0.1:10004
主从节点:127.0.0.1:10005,127.0.0.1:10006
sentinel节点:127.0.0.1:10007,127.0.0.1:10008,127.0.0.1:10009
- 关闭命令
printf '%s\n' 10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 | xargs -I{} -t redis-cli -h 127.0.0.1 -p {} -a 123456 shutdown
集群到集群
注意:源端不能开启move slot模式
配置
## 需要修改集群模式
cluster = true
rob = true
aof = true
## 其他除了地址,密码之外都不变
- 启动节点
printf '%s\n' 1 2 3 4 | xargs -I{} -t redis-server /data/application/redis5/cluster1/node{}/redis.conf &
- 停止节点
printf '%s\n' 10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011 | xargs -I{} -t redis-cli -h 127.0.0.1 -p {} -a 123456 shutdown
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署