linux——MongoDB服务

目录

一、MongoDB概述

相关概念

特性

应用场景

二、目录结构

三、默认数据库

admin

local

config

四、数据库操作

库操作

文档操作

 五、MongoDB数据库备份

一、备份

mongodump

 mongoexport

 二、恢复

mongorestore

 mongoimport

​编辑


一、MongoDB概述

        MongoDB是一个nosql数据库它有高性能、无模式文档型的特点是nosql数据库中功能最丰富,最像关系型数据库,数据库格式BSON。

相关概念

        实例:        系统上运行的MongoDB的进程类似于mysql的实例

        库:        每个数据库都是独立的,有自己的用户,权限,独立存储集合,类似与mysql的库

        集合:        有一组文档构成,类似于mysql的表

        文档:        mongodb数据库的最小数据集,是由多个键值对有序组合的数据单元,类似与mysql的数据记录

        主键:        唯一标识一行数据

特性

        面相集合文档存储,适合存储json形式的数据

        格式自由,数据格式不固定,数据结构发生变更的同时不会影响程序运行

        面向对象的sql查询语句,基本涵盖关系型数据库的所有查询语句

        有索引的支持,查询效率更快

        支持复制和故障转移

        可以使用分片集群提升查询性能

应用场景

        游戏

        物流

        社交

        物联网

        视频直播

        大数据

二、安装

一、编译安装

二、rpm安装

        配置mongo源        vim /etc/yum.repo.d/mongo.repo

        [mongodb-org-4.2]
        name=MongoDb Repository
        baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
        gpgcheck=1
        enabled=1
        gpgkey=https://www.monyum install -y mongodb-orggodb.org/static/gpg/server-4.2.asc

        安装        yum install -y mongodb-org

        启动数据库        systemctl start mongod.service

二、目录结构

        rpm -ql mongodb-org-server

                /etc/mongod.conf    主配置文件
                                                        port: 27017                    监听端口号
                                                        bindIp: 127.0.0.1            监听地址

                /run/mongodb            PID文件

                /usr/bin/mongod            启动命令

                /var/lib/mongo            存储数据文件

                /var/log/mongodb            日志

        rpm -ql mongodb-org-shell

                /usr/bin/mongo            客户端命令

        rpm -ql mongodb-org-tools

                /usr/bin/mongodump            备份数据库

                /usr/bin/mongoexport            备份文档

                /usr/bin/mongoimport            恢复文档

                /usr/bin/mongorestore            恢复数据库

三、默认数据库

admin

        从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。
        一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。

local

        这个数据库永远不会被复制,可以用来存储限于本地单台服务器的任意集合。

config

        当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

四、数据库操作

库操作

        查看数据库            show database

                                     show dbs

        显示当前所在数据库            db

        切换数据库            use  dbName

        数据库创建                隐式创建
                                                    不用主动创建,使用use newDB,会自动创建不存在的数据库
                                                    只有在库中创建集合后才会保存,并使用show dbs查看到

        删除数据可                use dbName   db.dropdatabase()(需要在库中才能删除)

文档操作

        查看集合                show  tables

        创建集合                db.createCollection("test ") (集合test)

        删除集合                db。需要删除的集合名称.drop()

         插入数据(文档) db.集合名称.insert({key:value})                单行插入数据

                                       db.集合名称.insertmany ([{key:value},{key:value},{key:value}]

                                                                                                        多行插入数据

                               mongodb默认数字的数据类型float浮点型,若要改变为整型:NumberInt(数字)

        查询数据        db.集合名称.find({})                全集合查询

                                db.集合名称.find()                 全集合查询

        条件查询        db.info.find({查询条件1key:value,查询条件2,...},{key1:1|0,key2:1|0,...})

                                key:1 显示,key:0 不显示

                                当显示的key只有一个时,key:1 只显示该key及对应value,key:0 显示除了该key之外其他所有keyvalue

        查询集合中有多少文档        db.集合名称.count()

         删除数据        db.集合名称.remove({})​​​​​​​        ​​​​​​​

                                 db.集合名称.remove({key:value})

         更新数据        db.info.update({_id:"3"}, {$set:{name:"jack"}})

        所有满足条件的文档都进行更新         db.info.update({'name':'wangwu'},{$set:{password:"tom"}},{multi:true})

        更新文档进行数值递增                db.info.update({userid:""},{$inc:{likenum:NumberInt()}})

 五、MongoDB数据库备份

一、备份

mongodump

        -h=hostname:port
        -u=<username>
        -p=<password>
        --authenticationDatabase=<dbname>
        -d=<database>
        -o=<path>

         语法        mongodump -d dbName -h hostName:port -u userName -p Password -o backupDirectory

 mongoexport

        -h=hostname:port
        -u=<username>
        -p=<password>
        --authenticationDatabase=<dbname>
        -d=<database>
        -o=<path>

        语法        mongoexport -d dbName -c tableName -h hostName:port -u userName -p Password -o backupDirectory/jsonFile.json

 二、恢复

mongorestore

        -h=hostname:port
        -u=<username>
        -p=<password>
        --authenticationDatabase=<dbname>
        -d=<database>
        --drop 当目标数据库中存在同名集合则删除再恢复

        语法         mongorestore -h hostName -u username -p password -d dbName -c tableName bakcupDirector/bsonFile

 mongoimport

        ·-h=hostname:port
        -u=<username>
        -p=<password>
        --authenticationDatabase=<dbname>
        -d=<database>
        --drop 当目标数据库中存在同名集合则删除再恢复

        语法        mongoimport -d dbName -c tableName -h hostName:port -u userName -p Password  backupDirectory/jsonFile.json

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丗卅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值