• MongoDB安装、配置和基本使用


    一、搭建MongoDB的yum源

    如果安装epel扩展源,可以安装MongoDB2.4版本

    如要安装3.0版本,需要自己配置yum源,官方提供的源只支持64位系统

    # vim /etc/yum.repos.d/mongodb-org-3.0.repo

    加入如下内容:

    [mongodb-org-3.0]

    name=MongoDB Repository

    baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/

    gpgcheck=0

    enabled=1

    然后就可以安装MongoDB了

    # yum -y install mongodb-org

    二、配置MongoDB

    MongoDB的启动脚本位置:/etc/init.d/mongod

    MongoDB的配置文件位置:/etc/mongod.conf

    MongoDB的日志文件位置:/var/log/mongodb

    MongoDB的数据库文件位置: /var/lib/mongo/

    修改配置文件:

    将fork: true后面的内容去掉

    将pidFilePath: /var/run/mongodb/mongod.pid后面的内容去掉

    将bindIp:后面的内容去掉(绑定的ip)

    修改内核参数:

    # echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled

    # echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

    # vim /etc/security/limits.conf加入:

    mongod  soft    nofile  64000

    mongod  hard    nofile  64000

    mongod  soft    nproc   32000

    mongod  hard    nproc   32000

    启动MongoDB服务

    # /etc/init.d/mongod start

    如果启动失败可以看到错误信息

    # mongod -f /etc/mongod.conf

    三、MongoDB连接和用户管理

    1、在本机可以直接运行命令mongo进入到mongodb shell中

    2、如果mongodb监听端口并不是默认的27017,则在连接的时候需要加--port选项,mongo --port27018

    3、连接远程mongodb,需要加--host,mongo --host 127.0.0.1

    4、如果设置了验证,则在连接的时候需要带用户名和密码

    mongo -uusername -ppasswd #类似mysql

    四、MongoDB用户管理

    1、首先mongodb用户是针对数据库来的,建立用户是首相要进入到对应的库里

    use test #切换到test数据库下如果没有直接创建

    db.createUser({user:"fansik",pwd:"fanjinbao",roles:[{role:'dbOwner',db:'userdb'}]})

    use admin #切换到admin库查看用户

    db.system.users.find() #查看所有用户(只能在admin库中查看)

    show users #查看当前数据库下所有的用户

    db.dropUser('fansik') #删除 用户

    mongodb数据库角色参考文档

    http://bbs.51cto.com/thread-1146654-1.html

    五、MongoDB库和集合管理

    db.version() #查看数据库版本

    use userdb #如果库存在就切换,不存在就创建

    show dbs #查看库,此时userdb并没有出现,这是因为该库是空的,还没有任何集合,只需要创建一个集合就能看到了

    db.createCollection('fansik') #创建集合fansik,在当前库下创建

    db.dropDatabase() #删除当前库,要想删除某个库,必须切换到那个库下面

    db.stats() #查看当前库的信息

    db.serverStatus() #查看mongodb服务器的状态

    六、MongoDB创建集合

    创建集合语法:db.createCollection(name,options)

    db.createCollection("mycol",{capped : true, autoIndexID : true, size : 6142800, max : 10000 })

    name就是集合的名字,options可选,用来配置集合的参数,参数如下:

    cappend true/false(可选)如果为true,则启用封顶集合。封顶集合是固定大小的集合,当它达到其最大大小,会自动覆盖最早的条目,如果指定true,则也需要指定尺寸参数

    autoindexID true/false(可选)如果为true,自动创建索引_id,字段的默认值是false

    size(可选)指定最大大小字节封顶集合,如果封顶是true,那么你还需要指定这个字段,单位是B

    max(可选)指定封顶集合允许在文件的最大数量

    六、MongoDB集合管理

    show collections #查看集合,或者使用show tables

    db.Account.insert({AccountID,UserName:"1r43",passwd:"123456"}) #如果集合不存在,直接插入数据,则mongodb会自动创建集合

    db.account.find() #查看集合account中的所有文档

    db.Account.update({AccountID:1},{"$set":{"User":"100"}}) #如果集合中有User则修改,没有则增加

    db.Account.remove({AccountID:1}) #删除集合中的内容

    db.Account.drop() #删除Account集合

    db.printCollectionStats() #查看集合的状态(要先进入对应的库)

  • 相关阅读:
    Educational Codeforces Round 83 --- F. AND Segments
    Educational Codeforces Round 83 --- G. Autocompletion
    SEERC 2019 A.Max or Min
    2019-2020 ICPC Southwestern European Regional Programming Contest(Gym 102501)
    Educational Codeforces Round 78 --- F. Cards
    今天我学习了一门全新的语言
    codeforces 1323D 题解(数学)
    Educational Codeforces Round 80 (Div. 2) 题解 1288A 1288B 1288C 1288D 1288E
    Educational Codeforces Round 81 (Div. 2) 题解 1295A 1295B 1295C 1295D 1295E 1295F
    Codeforces Round #617 (Div. 3) 题解 1296C 1296D 1296E 1296F
  • 原文地址:https://www.cnblogs.com/fansik/p/5488170.html
Copyright © 2020-2023  润新知