有时候我们可能需要将云上数据库下载到本地,下面是我们在操作MongoDB数据库时遇到的五个小问题。

其实现在RDS的 帮助文档 写的都比较详细了,大家在第一次操作时,可以细读一下,避免一些不必要的问题。

Problem 1

通过wget命令下载 云MongoDB物理备份文件 时,url 中间有特殊字符&,需要把url放在‘’(单引号中)。

否则报错;

[]
[]
[]+ Done Expires=
..........................................................
..........................................................
..........................................................
HTTP request sent, awaiting response... Forbidden
-- :: ERROR : Forbidden. []+ Exit

Problem 2

启动MongoDB服务时,报错。查看启动log,主要的报错信息如下;

--05T15::12.099+ I STORAGE  [initandlisten] exception in initAndListen:  Requested option conflicts with current storage engine option for directoryPerDB; you requested false but the current server storage is already set to true and cannot be changed, terminating
--05T15::12.099+ I NETWORK [initandlisten] shutdown: going to close listening sockets...
--05T15::12.099+ I NETWORK [initandlisten] removing socket file: /tmp/mongodb-.sock
--05T15::12.099+ I NETWORK [initandlisten] shutdown: going to flush diaglog...
--05T15::12.099+ I CONTROL [initandlisten] now exiting
--05T15::12.099+ I CONTROL [initandlisten] shutting down with code:

从上面的错误提示中可以看出主要是 directoryPerDB 的配置问题。

提示需要将directoryperdb 设置为 true。

Problem 3

当我们将在mongodb 的配置文件中添加以下参数后。

directoryperdb=ture

报错如下:

Aug  :: weixin-qq01 mongod[]: Error parsing INI config file: the argument ('ture') for option 'directoryperdb' is invalid. Valid choices are 'on|off', 'yes|no', '1|0' and 'true|false'

正确的设置如下;

directoryperdb=on

Problem 4

如果云数据库是副本集,那么下载还原后的数据库已也会含有副本集的信息。如果想将还原的数据库配置成新的副本集,需要移除就的副本集信息。

移除前,添加时会报错,报错信息如下;

        "info" : "try querying local.system.replset to see current configuration",
"ok" : ,
"errmsg" : "already initialized",
"code" : ,
"codeName" : "AlreadyInitialized"

移除原因的副本信息,执行如下命令;

use local
db.system.replset.remove({})

[执行后,重新下服务]

Problem 5

配置副本集时,设置的oplogSize 要和 云数据库 副本集 的一样大。

小于云上设置的oplog,会报错,错误信息如下。[例如本地设置的是1024]

        "ok" : ,
"errmsg" : "cmdline oplogsize (1024) different than existing (25600) see: http://dochub.mongodb.org/core/increase-oplog",
"code" : ,
"codeName" : "Location13257"

大于云上设置的的oplogsize,会报错,错误信息如下。[例如本地设置的是1024]

        "ok" : ,
"errmsg" : "cmdline oplogsize (31024) different than existing (25600) see: http://dochub.mongodb.org/core/increase-oplog",
"code" : ,
"codeName" : "Location13257"

补充说明:

(1):设置为true,每个数据库的文件存储在DBPATH指定目录的不同的文件夹中。使用此选项,可以配置的MongoDB将数据存储在不同的磁盘设备上,以提高写入吞吐量或磁盘容量。默认为false。

(2):说明 MongoDB RDS 实例将 directoryperdb 设置为了 ture。 也为我们本地其他MongodB实例的参数设置提供了参考,也建议将 directoryperdb 设置为ture。

(3):查看oplogsize大小的指令;

db.printReplicationInfo()

(4)阿里云官方文档:

https://help.aliyun.com/document_detail/58329.html

将 云数据库MongoDB(阿里云)物理备份文件下载恢复至本地自建数据库 遇到的5个问题的更多相关文章

  1. 阿里云RDS备份的tar格式包恢复到本地自建数据库

    说明 阿里云RDS-mysql数据库是通过percona-Xtrabackup进行备份的,所以恢复时也需要安装该软件. 另外注意的是:你自己下载的MySQL版本要和阿里云上的MySQL版本一致,不然会 ...

  2. 将GitLab的数据库导入阿里云PostgreSQL RDS

    GitLab的数据库用的是PostgreSQL,之前由于阿里云RDS不支持PostgreSQL,只能将GitLab的数据库部署在云服务器上. 6月1日得知阿里云推出了PostgreSQL RDS,于是 ...

  3. 【IT名人堂】何云飞:阿里云数据库的架构演进之路

    [IT名人堂]何云飞:阿里云数据库的架构演进之路 原文转载自:IT168 ​ 如果说淘宝革了零售的命,那么DT革了企业IT消费的命.在阿里巴巴看来,DT时代,企业IT消费的模式变成了“云服务+数据”, ...

  4. 将GitLab数据库从阿里云PostgreSQL RDS迁移至自建的PostgreSQL服务器

    阿里云RDS目前支持的是PostgreSQL 9.4,而gitlab支持的最低版本是PostgreSQL 9.6.1,不升级PostgreSQL,gitlab就无法升级,阿里云RDS短期内不进行升级, ...

  5. 阿里云场景化阿里云企业数字化转型售前方法PSA

    阿里云场景化阿里云企业数字化转型售前方法PSA 目录 01 课程收获 理解企业数字化转型的概念.内涵.本质 了解企业数字化转型的要点.目标和切入点 掌握数字化转型项目售前阶段实践方法 场景化方案 阿里 ...

  6. 云储存第三方--阿里云OSS VS 又拍云USS

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...

  7. 云服务器ECS优惠券 阿里云 ecs 5折优惠码 阿里云5折优惠码 阿里云5折推荐码 阿里云优惠码 阿里云的5折优惠券 阿里云服务器购买优惠码 服务器购买优惠码

    阿里云代金券 | 阿里云优惠券云服务器ECS,就是阿里云服务器,大家一定要清楚.云服务器ECS优惠券官方领取优惠页面:https://promotion.aliyun.com/ntms/act/amb ...

  8. 云效(阿里云)流水线 + nginx + uWsgi + flask + python3 基础环境搭建 --备忘

    一.开发环境搭建 1.安装python3 yum -y groupinstall "Development tools" yum -y install zlib-devel bzi ...

  9. .Net Core in Docker - 使用阿里云Codepipeline及阿里云容器镜像服务实现持续集成(CI)

    前面已经介绍过了 .Net Core 程序发布到 Docker 容器的内容.但是每次通过 SSH 链接到服务器敲命令,运行脚本也是挺麻烦的一件事.程序员是最懒的,能让电脑解决的问题绝不手动解决,如果当 ...

随机推荐

  1. atom常用快捷键-mac亲测

    目录 最常用 其他 测试没成功 最常用 中文 快捷键 功能 新建界面窗口 Ctrl + Shift + N 新建文件 Ctrl + N 打开文件 Ctrl + O 打开文件夹 Ctrl + Shift ...

  2. 学习go语言第二天-变量、常量

    编写测试程序 源码文件以_test结尾;例如:xxx_test.go 测试方法名以Test开头;例如:func TestXXXXX(t *testing.T){} 实现斐波那且数列 package f ...

  3. 基于iCamera测试高清摄像头SIV100B(替代ov7670)小结

    基于iCamera测试高清摄像头SIV100B(替代ov7670)小结 先看看siv100b主要关键参数 SIV100B与OV7670分辨率和基本特性都差不多,而siv100b,像素尺寸更小,灵敏度更 ...

  4. usb2.0高速视频采集之68013A寄存器配置说明

    任何的固件编程离不开与与原理图参考,图纸中所采用的是USB的Slave_fifo传输方式,具体配置与图纸对应即可. •USB_IFCLK:同步Slave_FIFO模式,输入频率范围5M-48M,在FP ...

  5. Day 03 作业

    简述变量的组成 变量名,赋值符号,变量值 简述变量名的命名规范 变量名应该能反映变量值所描述的状态 变量名必须以字母数字下划线组合且不能以数字开头 变量名不能是关键字 简述注释的作用 让后面的代码失效 ...

  6. Day 05 文本处理和爬虫基础1

    目录 什么是文件 什么是文本 如何通过文本编辑器控制.txt文件 打开文件的三种模式 t和b模式 高级应用 文本处理 + 词云分析 效果如下 爬虫原理 requests模块 re模块 爬取图片 爬取视 ...

  7. 【全栈修炼】396- OAuth2 修炼宝典

    一.OAuth 概念 开放授权(OAuth)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用.-- 维基百科 ...

  8. 201871010119-帖佼佼《面向对象程序设计(java)》第八周学习总结

    博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...

  9. javascript的ES6学习总结(第三部分)

    1.ES6中的面向对象的类 1.1.定义类 在ES5中,我们写一个类,通常是这么写的 function Person(name,age){ this.name = name; this.age = a ...

  10. 物联网基础组件IoTClient开发系列

    系列目录 IoTClient开发1 - 你也可以写个聊天程序 IoTClient开发2 - 你也可以写个服务器 IoTClient开发3 - ModBusTcp协议客户端实现 IoTClient开发4 ...