mongodb數據庫數據導入導出備份教程

備份數據就是對數據的一個導入與導出了,我們對于數據庫擔心丟失都會進行一些處理了,下面我們來看看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

更多相關文章
  • 利用winrar對mysql教程數據庫教程進行定時備份. 對于mysql的備份,最好的方法就是直接備份mysql數據庫的data目錄.下面提供了一個利用winrar來對data目錄進行定時備份的方法. 首先當然要把w
  • 小編前面了介紹過另一種命令來實現數據庫導入導出了,下面小編再給各位介紹一篇oracle數據庫中expdp和impdp導出導入的例子,希望文章可以幫助到大家.expdp和impdp是oracle從10g開始新增加的導出.導入功能.名稱叫數據泵.expdp:Data Pump Exportimpdp:D
  • 我們這裏給大家介紹不在phpmyadmin中導入導出數據庫,而是在dos命令模式下進行數據庫的導入導出,有需要了解的朋友可參考.一,在你電腦中進行dos模式,在開始->運行 輸入"cmd"二,然後進入到你的mysql目錄的bin目錄下.然後使用source命令,後面參數爲腳 ...
  • 分享一個簡單的Linux手動導入導出mysql數據庫實例,有需要的朋友可以參考一下,好了費話不說多了看看吧.有時候我們管理數據庫的時候需要用到命令執行導入導出的操作,因爲這樣穩定可靠,不易有亂碼出現.而且導入的數據庫大小不受限制.MySQL數據庫導出以root登錄vps,執行以下命令導出. 代碼如下 ...
  • 本文章給各位同學介紹一些常用的在使用oracle 11g linux 建立表空間 用戶授權 數據庫導入導出語句,有需要了解的同學可進入參考.sqlplus/as sysdba-- 查看dbf存放位置 select *
  • 本文章來給大家介紹在mysql備份數據方法同時也介紹了與這些對應的shell腳本代碼哦,希望有需要了解學習的朋友可進入參考哦.1.導出整個數據庫(–hex-blob 爲有blob數據做的,防止亂碼和導入失敗用)mys
  • 在mysql數據庫對于數據庫的備份與恢複我們會使用到mysqldump,source或者insert into命令了,下面一聚教程小編來給各位同學整理一下,希望例子對給各位朋友帶來幫助哦.今天想導出部分數據找了半天終
  • 下面來看兩個mysql 導入導出CSV數據的例子,這此都用到了mysql自帶的命令了,如 LOAD DATA LOCAL INFILE 或select * INTO OUTFILE命令了.cvs文件導入MySql數據
一周排行