美文网首页mongoDB+ES
mongodb数据备份

mongodb数据备份

作者: 布口袋_天晴了 | 来源:发表于2019-02-22 12:10 被阅读5次

    MongoDB 是一个高性能,开源,无模式文档型数据库,是当前 NoSQL 数据库产品中最热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式,MongoDB 使用 C++开发。MongoDB 的官方网站地址是:http://www.mongodb.org/

    【0】

    MongoDB数据库备份手段全量逻辑备份/恢复

    对于数据量比较小的场景,使用官方的mongodump/mongorestore工具进行全量的备份和恢复就足够了。mongodump可以连上一个正在服务的mongod节点进行逻辑热备份。其主要原理是遍历所有集合,然后将文档一条条读出来,支持并发dump多个集合,并且支持归档和压缩,可以输出到一个文件(或标准输出)(对原理感兴趣可以参见两篇文章Mongodump的archive(归档)模式原理解析以及Mongorestore的archive(归档)模式恢复原理解析)。同样,mongorestore则是连上一个正在服务的mongod节点进行逻辑恢复。其主要原理是将备份出来的数据再一条条写回到数据库中。

    MongoDB数据库备份

    语法:  mongodump  -h  dbhost  -d  dbname  -o  dbdirectory

    -h: MongoDB所在服务器地址,例如:127.0.0.1, 也可以指定端口号:127.0.0.1:27017

    -d: 需要备份的数据库实例,例如下图中的law_nlp数据库

    -o: 备份数据存放的位置,例如:c:\data\dump

    备份过程:

    【1】命令查看Linux服务器内存、CPU、显卡使用情况

    内存使用情况,单位M

    【2】在linux上查看服务器的存储空间多大

    查看磁盘空间剩余信息

    Filesystem文件系统   Size容量  Used已用   Avial可用  Use%已用%  Mounted on挂载点

    所以可以把数据备份到/data路径下,那里有足够的存储空间。

    (个人注:在 /usr/mongodb-linux-x86_64-rhe62-4.0.4/dump/law_nlp  有一部分数据;   在/home/mongodump/law_nlp 有最新的全部数据)

    vim  /etc/ profile   查看mongodb位置

    进入到mongodb的bin目录  

    vim mongodb.conf  查看数据存放位置

    查看Mongodb里的数据

    数据库备份 mongodump -h dbhost -d law_nlp -o /data/yao_mongo/

    备份后的部分数据

    什么是.bson?

    BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。

    BSON可以做为网络数据交换的一种存储形式,这个有点类似于Google的Protocol Buffer,但是BSON是一种schema-less的存储形式,它的优点是灵活性高,但它的缺点是空间利用率不是很理想,

    BSON有三个特点:轻量性、可遍历性、高效性

    {“hello":"world"} 这是一个BSON的例子,其中"hello"是key name,它一般是cstring类型,字节表示是cstring::= (byte*) "/x00" ,其中*表示零个或多个byte字节,/x00表示结束符;后面的"world"是value值,它的类型一般是string,double,array,binarydata等类型。  

    【了解更多】:MongoDB之bson的介绍

    【了解更多】:json与bson的区别

    数据表导出  mongoexport -d dbname -c collectionname -o file --type json/csv -f filed

    -d:数据库名

    -c:collection名

    -o:输出的文件名

    --type:输出的格式,默认为json

    -f:输出的字段,如果--type为csv,则需要加上-f"字段名"

    eg:mongoexport -d mongotest -c users -o /home/data/usr.csv  --type csv -f "_id,user_id,user_name,age,status"

    若出现 Failed:EOF  则是mongo服务被关了

    相关文章

      网友评论

        本文标题:mongodb数据备份

        本文链接:https://www.haomeiwen.com/subject/xdysyqtx.html