您的位置:首页 > 数据库 > Mongodb

mongodb 备份与恢复

2017-10-23 15:28 375 查看


MongoDB数据备份

在Mongodb中我们使用mongodump命令来备份MongoDB数据。该命令可以导出所有数据到指定目录中。

mongodump命令可以通过参数指定导出的数据量级转存的服务器。


语法

mongodump命令脚本语法如下:
>mongodump -h dbhost -d dbname -o dbdirectory


-h:

MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017

-d:

需要备份的数据库实例,例如:test

-o:

备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。


实例

在本地使用 27017 启动你的mongod服务。打开命令提示符窗口,进入MongoDB安装目录的bin目录输入命令mongodump:
>mongodump


执行以上命令后,客户端会连接到ip为 127.0.0.1 端口号为 27017 的MongoDB服务上,并备份所有数据到 bin/dump/ 目录中。命令输出结果如下:



mongodump 命令可选参数列表如下所示:
语法描述实例
mongodump --host HOST_NAME --port PORT_NUMBER该命令将备份所有MongoDB数据mongodump --host w3cschool.cc --port 27017
mongodump --dbpath DB_PATH --out BACKUP_DIRECTORY mongodump --dbpath /data/db/ --out /data/backup/
mongodump --collection COLLECTION --db DB_NAME该命令将备份指定数据库的集合。mongodump --collection mycol --db test


MongoDB数据恢复

mongodb使用 mongorestore 命令来恢复备份的数据。


语法

mongorestore命令脚本语法如下:
>mongorestore -h <hostname><:port> -d dbname <path>


--host <:port>, -h <:port>:

MongoDB所在服务器地址,默认为: localhost:27017

--db , -d :

需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2

--drop:

恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!

<path>:

mongorestore 最后的一个参数,设置备份数据所在位置,例如:c:\data\dump\test。

你不能同时指定 <path> 和 --dir 选项,--dir也可以设置备份目录。

--dir:

指定备份的目录

你不能同时指定 <path> 和 --dir 选项。

接下来我们执行以下命令:
>mongorestore


执行以上命令输出结果如下:



-------------------MongoDB数据导入与导出-------------------
1、导出工具:mongoexport
    1、概念:
        mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
    2、语法:
        mongoexport -d dbname -c collectionname -o file --type json/csv -f field
        参数说明:
            -d :数据库名
            -c :collection名
            -o :输出的文件名
            --type : 输出的格式,默认为json
            -f :输出的字段,如果-type为csv,则需要加上-f "字段名"
    3、示例:
        sudo mongoexport -d mongotest -c users -o /home/python/Desktop/mongoDB/users.json --type json -f  "_id,user_id,user_name,age,status"
 
2、数据导入:mongoimport
    1、语法:
        mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
        参数说明:
            -d :数据库名
            -c :collection名
            --type :导入的格式默认json
            -f :导入的字段名
            --headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
            --file :要导入的文件
 
    2、示例:
        sudo mongoimport -d mongotest -c users --file /home/mongodump/articles.json --type json
 
-------------------MongoDB备份与恢复-------------------
1、MongoDB数据库备份
    1、语法:
        mongodump -h dbhost -d dbname -o dbdirectory
        参数说明:
            -h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
 
b21b
          -d: 需要备份的数据库实例,例如:test
            -o: 备份的数据存放位置,例如:/home/mongodump/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。
    2、实例:
        sudo rm -rf /home/momgodump/
        sudo mkdir -p /home/momgodump
        sudo mongodump -h 192.168.17.129:27017 -d itcast -o /home/mongodump/
        -
2、MongoDB数据库恢复
    1、语法:
        mongorestore -h dbhost -d dbname --dir dbdirectory
 
        参数或名:
            -h: MongoDB所在服务器地址
            -d: 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
            --dir: 备份数据所在位置,例如:/home/mongodump/itcast/
            --drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!
    2、实例:
    mongorestore -h 192.168.17.129:27017 -d itcast_restore --dir /home/mongodump/itcast/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: