Windows或Linux系统中备份和恢复MongoDB数据的教程

windows下面mongodb数据库备份和恢复

我可以讲数据备份到c:\data\dump目录下面,首先创建这个路径。然后进入到mongodb的bin目录下面

我的是:

C:\Program Files\mongodb\bin

备份脚本是:

//备份
mongodump -h 127.0.0.1:27017 -d test -o c:\data\dump

恢复脚本是:

//恢复
 mongorestore -h 127.0.0.1:27017 -d test --directoryperdb c:\data\dump\test

解释一下用到的命令

  • -h:MongoDB所在服务器地址
  • -d:需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
  • -o:备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
  • --directoryperdb:备份数据所在位置,例如:c:\data\dump\test,这里为什么要多加一个test,而不是备份时候的dump,读者自己查看提示吧!
  • --drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!

原始解释:

 -v [ --verbose ]           be more verbose (include multiple times
                    for more verbosity e.g. -vvvvv)
 --version               print the program's version and exit
 -h [ --host ] arg           mongo host to connect to ( <set
                    name>/s1,s2 for sets)
 --port arg              server port. Can also use --host
                    hostname:port
 --ipv6                enable IPv6 support (disabled by
                    default)
 -u [ --username ] arg         username
 -p [ --password ] arg         password
 --authenticationDatabase arg     user source (defaults to dbname)
 --authenticationMechanism arg (=MONGODB-CR)
                    authentication mechanism
 --dbpath arg             directly access mongod database files
                    in the given path, instead of
                    connecting to a mongod server - needs
                    to lock the data directory, so cannot
                    be used if a mongod is currently
                    accessing the same path
 --directoryperdb           each db is in a separate directly
                    (relevant only if dbpath specified)
 --journal               enable journaling (relevant only if
                    dbpath specified)
 -d [ --db ] arg            database to use
 -c [ --collection ] arg        collection to use (some commands)
 --objcheck              validate object before inserting
                    (default)
 --noobjcheck             don't validate object before inserting
 --filter arg             filter to apply before inserting
 --drop                drop each collection before import
 --oplogReplay             replay oplog for point-in-time restore
 --oplogLimit arg           include oplog entries before the
                    provided Timestamp (seconds[:ordinal])
                    during the oplog replay; the ordinal
                    value is optional
 --keepIndexVersion          don't upgrade indexes to newest version
 --noOptionsRestore          don't restore collection options
 --noIndexRestore           don't restore indexes
 --w arg (=0)             minimum number of replicas per write

linux下面mongodb数据库备份和恢复

linux下面我们可以创建一个自动备份脚本,可以设置定时任务,也可以手动备份。我是手动备份的。

首先创建一个sh命令,我是放在home下面的。

vim /home/mongoBeiFen.sh

输入如下内容:

#!/bin/bash
shijie=`date +%Y%m%d%H`
backmongodbFile=mongodb$shijie.tar.gz
cd /home/mongoDbback/
/usr/local/mongo/bin/mongodump -h 127.0.0.1 --port 27017 -u mongo -p 123456 -d my_mongodb -o my_mongodb_dump/
tar czf $backmongodbFile my_mongodb_dump/
rm my_mongodb_dump -rf

解释:

存放备份的文件夹是/home/mongoDbback/

-u是数据库名用户名 -p是密码 -d是数据库名 具体和window差不多,大家可以看下上面windows的解释。

备份的时候只要运行一下

./mongoBeiFen.sh

就可以了。

数据库恢复:

/usr/local/mongo/bin/mongorestore -d my_mongodb my_mongodb_dump/my_mongodb/* 

指向每个文件

复制代码 代码如下:

/usr/local/mongo/bin/mongorestore -h 127.0.0.1 --port 27017 -- drop --directoryperdb  my_mongodb_dump/my_mongodb

指向一个目录
有问题的话可以尝试window的写法:

复制代码 代码如下:

/usr/local/mongo/bin/mongorestore -h 127.0.0.1:27017 -d test --drop  --directoryperdb  my_mongodb_dump/my_mongodb

时间: 2016-06-01

在Linux ubuntu下安装mongodb的方法

一.下载.安装对应版本 官网下载地址如下: www.mongodb.org/downloads #通过CURL下载 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1404-3.2.0.tgz #解压 tar -zxvf mongodb-linux-x86_64-ubuntu1404-3.2.0.tgz #移动 mv mongodb-linux-x86_64-ubuntu1404-3.2.0/ /usr/lo

Linux服务器安装PHP MongoDB扩展的方法

本文将讲述一下本人安装MongoDB扩展的过程,大家可以略作参考 安装环境 Linux环境:CentOS 6.5 Apache版本:2.4 PHP版本:5.4.3 MongoDB版本:2.6.5 一.下载Mongo-php扩展安装包 可以从Github上面下载,地址是https://github.com/mongodb/mongo-php-driver-legacy 下载好的文件放到随意一个目录,然后进行解压. 安装前需要安装好一系列的编译工具,如果已经安装,可以跳过此步. 安装编译工具 yum

Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录

System.out和System.err都被打印到catalina.out.catalina.out不会rotate.一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系统的稳定造成了一定的影响. 1.可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息. [root@localhost conf]# pwd /usr/local/tomcat/conf [root@localhost conf]# cp logging.pr

MongoDB学习笔记—Linux下搭建MongoDB环境

1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富,最像关系型数据库的.它支持的数据结构非常松散,会将数据存储为一个文档,数据结构由键值对(key=>value)组成,是类似于json的bson格式, c MongoDB最大的特点就是它支持的查询语言非常强大,其语法有点类似于面向对象

Linux下的mongodb服务监视脚本(启动服务)

前些天,一位开发同事找到我,说他测试环境的 mongodb 经常挂掉,要我写一个监控或复活的脚本.我觉得很奇怪,测试环境又没啥负载,经常挂掉肯定有非常规原因. 跑过去看了一下日志,发现存在stop记录,我就纳闷了,没人操作他还会自己stop.这明显不是挂掉了,于是到history中看了下同事的启动命令: 复制代码 代码如下: /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/data/mongod

Linux系统下MongoDB的简单安装与基本操作

Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备受当前IT从业人员的青睐.Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象.Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作. 一.下载mongodb 前往mongodb官网下载页面:https://www.mongodb.org/downloads下载

linux系统下MongoDB单节点安装教程

前言 MongoDB是一个高性能.开源.无模式的.基于分布式文件存储的文档型数据库,相信对大家都不陌生,这里就不过多介绍了,本文主要介绍了关于mongo单节点(linux下)的安装教程,分享出来供大家参考学习,下面话不多说了,来一起看看详细的安装过程吧. 安装包 下载地址: (https://www.mongodb.com/download-center) 用户权限/目录 1.创建 dbuser用户 groupadd dbgroup useradd dbuser -m -d /home/dbus

Linux系统下使用rpm方式安装最新mysql5.7.17完整步骤

1.下载以及前面的rpm安装步骤请参照 Linux 使用rpm方式安装最新mysql(5.7.16)步骤以及常见问题解决 2.四个rpm包安装完成后执行mysqld --initialize --user=mysql 如果提示目的文件夹内有文件: 直接将/var/lib/mysql/ 文件夹下的文件删除干净再次执行. 完成后 进入日志文件查找初始化生成的密码vi /var/log/mysqld.log 3.登录修改密码 mysql -u root -p 第一次更改密码前所有的操作都是禁止的,依次

Linux系统下Mysql使用简单教程(一)

如果你会查询这些相关的问题,说明你是一个正在或者准备从事IT的程序猿,对于一个程序猿而言,不会使用linux系统的程序猿不是一好的程序猿哦!因为windows有时候真的让人很抓狂,而本人也相信没有什么习惯是不可以改变的.so以下都是在linux系统中的使用: 安装mysql命令 :$ sudo apt-get install -y mysql-server 查看mysql的版本命令(注意-V是大写,不然会出现如下错误):$ mysql -V 启动mysql命令(其它关闭,重启等功能只需将star

Linux系统下Oracle数据库的安装和启动关闭操作教程

1.准备: df -H 查看空间剩余   一般准备最少5G 2.查看swap分区大小 du -sh /tmp/ 最少400M 3. 建组建用户 groupadd dba -g 111 groupadd oinstall -g 110 useradd oracle -u -110 -g 110 -G 111 passwd oracle --stdin 4. 设置参数 su - oracle vi .bash_profile export ORACLE_BASE=/u01/oracle export

在linux系统下安装两个nginx的简单方法

在linux下安装nginx的时候,一般在./configure的阶段会要求通过prefix设置安装路径.因此,在./configure的时候指定不同的prefix就可以安装多个nginx啦. 值得注意的是,安装完之后,两个nginx的监听端口要设置成不同的监听端口.否则,会有一个nginx无法启动. ./configure --prefix=/home/work/nginx1 .....//第一个nginx的安装配置 make && make install ./configure --

Linux系统下安装rz/sz命令及使用说明(详解)

对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令. 今天,我们就简单的讲解一下如何安装和使用rz.sz命令. 1.软件安装 root 账号登陆后,依次执行以下命令: cd /tmp wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz tar zxvf lrzsz-0.12.20.tar.gz &

Oracle VM VirtualBox 在linux系统下安装增强插件实现访问主机的共享文档方法

一.安装增强插件 1 选择"设备"--"安装增强功能",然后可以看到在虚拟机的光驱中自动加载了增强iso的文件(VBoxGuestAdditions.iso) 2在linux 中挂载光驱 mount /dev/cdrom /mnt 3在将/mnt文件中的所有文件拷在/tmp目录下 cp -r /mnt/* /tmp 4在安装增强文件之前安装相应的包,安装后重启 yum install kernel yum install kernel-headers kernel-

最新Linux系统下安装MySql 5.7.17全过程及注意事项

1.cd /usr/local/ ##进入local目录 2.cp /home/soft/MySQL-5.7.15-Linux-glibc2.5-x86_64.tar.gz /usr/local/ ##拷贝mysql压缩到local目录 3.cd /usr/local/ ##进入local目录 4.tar -xzvf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz ##解压mysql压缩包 5.mv mysql-5.7.15-linux-glibc2.5-x8

在linux系统下安装redis的方法

去官网找到合适的版本,可以直接下载下来,再用fxp上传,也可以直接以下面这种方式下载: $ wget http://download.redis.io/releases/redis-3.2.9.tar.gz $ tar xzf redis-3.2.9.tar.gz $ cd redis-3.2.9 $ make 启动服务: $ src/redis-server 测试是否成功: $ src/redis-cli redis> set foo bar OK redis> get foo "