• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

Nobody

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

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

方式二:拷贝文件

  1. 关闭源redis

  2. 拷贝源redis文件dump.rdb到目标redis目录下

bgsave
config get dir
shutdown save
  1. 启动新的redis

将redis-rdb-tools生成的分析文件导入mysql中分析

  1. 在本地mysql上修改secure_file_priv,只能在my.cnf上改
secure_file_priv=""
  1. 创建表结构
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
## 字节大小
## 编码方式
## 值的数量
## 值的最大长度
  1. 导入数据
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
  1. redis-shake使用文档 https://tair-opensource.github.io/RedisShake/zh/others/consistent.html

posted on 2024-10-16 16:52  A_Nobody  阅读(237)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3