linux——MongoDB服务

一、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()(需要在库中才能删除)linux——MongoDB服务_第1张图片

 

文档操作

        查看集合                show  tables

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

        删除集合                db。需要删除的集合名称.drop()linux——MongoDB服务_第2张图片

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

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

                                                                                                        多行插入数据linux——MongoDB服务_第3张图片

                               mongodb默认数字的数据类型float浮点型,若要改变为整型:NumberInt(数字)linux——MongoDB服务_第4张图片

        查询数据        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()linux——MongoDB服务_第5张图片

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

                                 db.集合名称.remove({key:value})linux——MongoDB服务_第6张图片

         更新数据        db.info.update({_id:"3"}, {$set:{name:"jack"}})linux——MongoDB服务_第7张图片

        所有满足条件的文档都进行更新         db.info.update({'name':'wangwu'},{$set:{password:"tom"}},{multi:true})linux——MongoDB服务_第8张图片

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

linux——MongoDB服务_第9张图片

 五、MongoDB数据库备份

一、备份

mongodump

        -h=hostname:port
        -u=
        -p=
        --authenticationDatabase=
        -d=
        -o=

         语法        mongodump -d dbName -h hostName:port -u userName -p Password -o backupDirectorylinux——MongoDB服务_第10张图片

 mongoexport

        -h=hostname:port
        -u=
        -p=
        --authenticationDatabase=
        -d=
        -o=

        语法        mongoexport -d dbName -c tableName -h hostName:port -u userName -p Password -o backupDirectory/jsonFile.jsonlinux——MongoDB服务_第11张图片

 二、恢复

mongorestore

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

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

linux——MongoDB服务_第12张图片

 mongoimport

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

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

linux——MongoDB服务_第13张图片

 

你可能感兴趣的:(mongodb,数据库)