IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 海量mysql和mongodb数据迁移恢复方案整理 -> 正文阅读

[大数据]海量mysql和mongodb数据迁移恢复方案整理

最近工作中,由于我司数据库采用单节点部署,线上出现了测试环节无法涉及的数据量而导致的性能问题,需要将生产环境的数据导回测试环境并恢复以供测试研发同时进行定位优化。但是当生产环境数据量特别大时,在做数据库迁移工作时,如果使用数据库自带的导出导入工具,非常耗时。最简单粗暴方式为将数据库的整个数据目录拷贝,而后在其他机器上进行数据恢复。以下记录记录前一阶段是如何进行海量数据的导入导出。

一、 mysql数据库的迁移恢复

mysql的迁移恢复比较简单,在待恢复的服务器上,安装与生产环境版本一样的mysql数据库服务。而后停止数据库服务,将拷贝出来的生产环境mysql数据目录放到待恢复服务器的某个目录A,修改待恢复服务器上mysql配置文件/etc/my.cnf,将配置项datadir指向目录A。为最大程度保持生产环境与恢复环境的一致,最好将生产mysql配置文件一同导回,在待恢复环境的/etc/my.cnf中完成配置。

启动mysql数据库服务即可完成数据的恢复。

二、mongodb数据库的迁移恢复

?mongodb的迁移同样是在待恢复服务器上安装与生产环境版本一致的mongodb服务,但是这里并不能简单粗暴的修改配置文件中的数据目录路径指向。由于mongodb自身的限制,每个环境上在mongodb的数据目录中都会生成对应的记录信息;亦或者由于没有正确的停止mongodb服务,导致产生了mongo.lock锁文件等等一些原因,直接指向数据目录将无法启动mongodb数据库服务。因此将mongodb数据目录导回后,放置到待恢复服务器某个目录B,修改了/etc/mongod.conf中的dbPath后,需要先针对于待恢复环境进行数据的修复,修复命令如下:

# 当数据目录很大时,修复时间将会对应很长,需要耐心等待。命令正常执行完成会有如下输出。
[root@localhost mongo-3.4]# /usr/bin/mongod -f /etc/mongod.conf -dbpath /data/mongodb/data/ --repair
about to fork child process, waiting until server is ready for connections.
forked process: 1058
child process started successfully, parent exiting

?当数据修复完成后,执行如下命令启动mongodb数据库:

/usr/bin/mongod -f /etc/mongod.conf -dbpath /data/mongodb/data/

启动mongodb数据库服务后,输入mongodb命令进行mongodb命令行,此时可以输入一些查询的命令进行验证。

注意:mongodb的服务停止不要直接使用kill -9命令,这样会强制停止mongodb服务,造成服务没有正常关闭结束,导致数据库锁文件生成,下次再启动会报错。正确的停止mongo服务器的方法是:

[root@localhost mongo-3.4]# mongo   # 进入命令行
MongoDB shell version v3.4.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.0
......
> use admin      # 切换admin库
switched to db admin
> db.shutdownServer()   # 关闭数据库服务
server should be down...
......
reconnect 127.0.0.1:27017 (127.0.0.1) failed failed 
> exit  # 退出命令行
bye

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-14 13:24:52  更:2021-09-14 13:27:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 19:51:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码