Redis 数据迁移 & 数据审计
Redis 数据迁移
安装迁移工具
# 安装依赖
[root@dbtest03 ~]# yum install -y automake libtool autoconf bzip2 git
# 拉取工具
[root@dbtest03 ~]# git clone https://github.com/vipshop/redis-migrate-tool
# 或者上传包
# 安装
[root@dbtest03 ~]# cd redis-migrate-tool/
[root@dbtest03 redis-migrate-tool]# autoreconf -fvi
[root@dbtest03 redis-migrate-tool]# ./configure
[root@dbtest03 redis-migrate-tool]# make
编辑配置文件
# 数据迁移配置文件,数据迁移源
[root@dbtest03 redis-migrate-tool]# vim tocluster.sh
# 数据迁移源
[source]
# 源类型 单点 Redis 实例
type: single
# 主机 IP 地址,端口
servers:
- 172.16.1.123:6381
# 目标源
[target]
# 源类型,Redis 集群
type: redis cluster
# 主机 IP 地址,端口(集群里任意一个节点)
servers:
- 172.16.1.121:6379
[common]
listen: 0.0.0.0:8888
单节点生成数据
[root@dbtest03 ~]# vim data.sh
#!/bin/bash
for i in {1001..2000};do
redis-cli -c -p 6381 -h 172.16.1.123 set k${i} v${i}
done
[root@dbtest03 ~]# sh data.sh
准备无数据集群
[root@dbtest01 ~]# redis-trib.rb info 172.16.1.121:6379
172.16.1.121:6379 (85622647...) -> 0 keys | 5461 slots | 1 slaves.
172.16.1.123:6379 (98f828cc...) -> 0 keys | 5461 slots | 1 slaves.
172.16.1.122:6379 (0f0232ee...) -> 0 keys | 5462 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
迁移数据
# 执行数据迁移
[root@dbtest03 redis-migrate-tool]# src/redis-migrate-tool -c tocluster.sh &
# 查看数据是否迁移到集群中
[root@dbtest01 ~]# redis-trib.rb info 172.16.1.121:6379
172.16.1.121:6379 (85622647...) -> 333 keys | 5461 slots | 1 slaves.
172.16.1.123:6379 (98f828cc...) -> 338 keys | 5461 slots | 1 slaves.
172.16.1.122:6379 (0f0232ee...) -> 329 keys | 5462 slots | 1 slaves.
[OK] 1000 keys in 3 masters.
0.06 keys per slot on average.
Redis 数据审计
安装工具
# 安装依赖
[root@dbtest02 ~]# yum install -y python-pip python-devel
# 安装工具
[root@dbtest02 ~]# pip install rdbtools python-lzf
# 下载或上传
[root@dbtest02 ~]# git clone https://github.com/sripathikrishnan/redis-rdb-tools
# 或者上传
[root@dbtest02 ~]# tar xf redis-rdb-tools.tar.gz
# 安装
[root@dbtest02 ~]# cd redis-rdb-tools
[root@dbtest02 redis-rdb-tools]# python setup.py install
生成 RDB 文件
[root@dbtest02 6381]# redis-cli -p 6381
127.0.0.1:6381> bgsave
Background saving started
127.0.0.1:6381> quit
[root@dbtest02 6381]# ll
total 44
-rw-r--r-- 1 root root 26206 Aug 7 15:18 dump.rdb
使用工具分析文件
# 使用工具生成 CSV 表格,下载下来进行分析
[root@dbtest02 6381]# rdb -c memory ./dump.rdb -f memory.csv
Redis 数据迁移 & 数据审计的更多相关文章
- EF 中 Code First 的数据迁移以及创建视图
写在前面: EF 中 Code First 的数据迁移网上有很多资料,我这份并没什么特别.Code First 创建视图网上也有很多资料,但好像很麻烦,而且亲测好像是无效的方法(可能是我太笨,没搞成功 ...
- 数据迁移的应用场景与解决方案Hamal
本文来自网易云社区 作者:马进 跑男热播,作为兄弟团忠实粉丝,笔者也是一到周五就如打鸡血乐不思蜀. 看着银幕中一众演员搞怪搞笑的浮夸演技,也时常感慨,这样一部看似简单真情流露的真人秀,必然饱含了许许多 ...
- Fastdfs数据迁移方案
1. 方案背景描述 环境迁移,需要迁移旧环境的fastdfs集群的数据到新环境,由于之前数据迁移仅仅是针对mysql和mongodb,对fastdfs数据的迁移了解甚少,本文档主要是针对fas ...
- 【odoo】[经验分享]数据迁移注意事项
[odoo14]经典好书学习没有烂尾,主体已完成,可移步了解.https://www.cnblogs.com/xushuotec/p/14428210.html 背景 近期,有朋友打算上odoo系统. ...
- 创建app子应用,配置数据库,编写模型,进行数据迁移
文章目录 web开发django模型 1.创建app子应用 2.配置子应用 3.使用 4.配置子应用管理自已的路由 django数据库开发思维与ORM 1.创建数据库 2.配置数据库 3.安装pymy ...
- 从MySQL到Redis 提升数据迁移的效率
场景是从MySQL中将数据导入到Redis的Hash结构中.当然,最直接的做法就是遍历MySQL数据,一条一条写入到Redis中.这样可能没什么错,但是速度会非常慢.而如果能够使MySQL的查询输出数 ...
- Redis数据迁移方案
场景 Redis实例A ---> Redis实例B,整库全量迁移 方案一: mac环境 brew install npm npm install redis-dump -g 针对RedisA: ...
- redis数据迁移
redis的备份和还原,借助了第三方的工具---redis-dump, redis中使用redis-dump导出.导入.还原数据实例 1.安装redis-dump # yum install rub ...
- redis 3.0 集群__数据迁移和伸缩容
添加节点 1,启动2个新的redis-sever, 参照 ( redis 3.0 集群____安装 ),端口号为 7007 和 7008 2,使用命令 redis-trib.rb add-node 命 ...
随机推荐
- fileinput模块用法
fileinput模块功能: 提供拼接一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行,从而进行逐行处理(如进行显示.替换.添加行号等). 其功能类似于linux命令的 ...
- linux DRM GPU scheduler 笔记
内核文档: Overview The GPU scheduler provides entities which allow userspace to push jobs into softw ...
- 鸿蒙的fetch请求加载聚合数据的前期准备工作-手动配置网络权限
目录: 1.双击打开"config.json"文件 2.找到配置网络访问权限位置1 3.配置内容1 4.默认访问内容是空的 5.添加配置内容2 6.复制需要配置的网络二级URL 7 ...
- 浅入深出了解XXE漏洞
环境搭建 https://github.com/c0ny1/xxe-lab 为了更深入的理解,我准备理论和实际相结合的了解XXE! 浅谈XML 初识XML 一个好的代码基础能帮助你更好理解一类漏洞,所 ...
- nodejs中使用worker_threads来创建新的线程
目录 简介 worker_threads isMainThread MessageChannel parentPort和MessagePort markAsUntransferable SHARE_E ...
- mysql 1449 : The user specified as a definer ('usertest'@'%') does not exist 解决方法 (grant 授予权限)
从服务器上迁移数据库到本地localhost 执行 函数 时报错, mysql 1449 : The user specified as a definer ('usertest'@'%') do ...
- JDK的各个版本
Java的各个版本 从上图我们看出,Java的版本名最开始以JDK开头,后来以j2se开头,最后到现在以Java开头,所以这些名字我们都可以说,但人们说的更多的是JDK多少,或者Java多少
- Java中的深浅拷贝问题,你清楚吗?
一.前言 拷贝这个词想必大家都很熟悉,在工作中经常需要拷贝一份文件作为副本.拷贝的好处也很明显,相较于新建来说,可以节省很大的工作量.在Java中,同样存在拷贝这个概念,拷贝的意义也是可以节省创建对象 ...
- 一个简单的IM聊天程序Pie IM(以后会更新)
这个程序用多线程,实现设备之间的聊天,支持win10通知,欢迎下载 依赖的第三方库 win10toast 代码 将以下代码写入任意.py文件 1 print('Welcome to use Pie I ...
- java虚拟机——轻松搞懂jvm
一.JVM体系结构概述 JVM位置 JVM体系结构 1.1 类加载器 ClassLoader 类加载器(ClassLoader)负责加载class文件,class文件在文件开头有特定的文件标示,并 ...