zoukankan      html  css  js  c++  java
  • Mongodb

    一、Mongodb

         是一个基于分布式文件存储的开源数据库,在高负载情况下,可以添加节点,

    将数据存储为仪个文档,类似Json 对象,所有存储在集合中的数据都是BSON格式。

    二、Mongodb 安装

    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz

    tar xf mongodb-linux-x86_64-3.0.6.tgz

    mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb

    echo “export PATH=/usr/local/mongodb/bin:\$PATH” >> /etc/profile

    source /etc/profile

    #设置配置文件

    dbpath=/data/db

    logpath=/data/app/mongodb/bin/mongo.log

    logappend=true

    fork=true

    #auth = true  #开启认证选择,把#去掉。

    port=27017

    #4.0版本需要开放IP

    bind_ip = IP

    #启动

    nohup mongod -f mgdb.cnf &

    #登录

    mongo 127.0.0.1:27017/admin -u admin -p admin

    三、Mongodb 权限

    权限

    1、MongoDB 是没有默认管理员账号,所以先要添加管理员账号,开启权限认证。

    2、切换到admin 数据库,添加的账号才是管理员账号

    3、用户只能在用户所在数据登录,包括管理员账号

    4、管理可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认 证才可以。

    MongoDB数据库角色

    角色说明:

    Read:允许用户读取指定数据库

    readWrite:允许用户读写指定数据库

    dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

    userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

    clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

    readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

    readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

    userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

    dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

    root:只在admin数据库中可用。超级账号,超级权限作者。

    __system  什么权限都有。

    # 设置管理员

    > use admin

    > show collections

    > db.createUser( { user: "admin", pwd: "mongodb:passok",

    roles:

    [

    { role: "userAdminAnyDatabase", db: "admin" }

    ] } )

    Successfully added user: { "user" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }

    > show users

    #添加普通用户

    > use mydb

    switched to db mydb

    > db.createUser( { user: "tonny", pwd: "tonny@passok",

    roles: [

    { role: "readWrite", db: "mydb" }

    ] } )

    MongoDB 常用命令

    show dbs  #显示数据库列表

    show collections #显示当前数据库中的集合

    show users #显示用户

    use db #切换当前数据库

    db.foo.find({a:1}) #对于当前数据库中的foo集合进行查找,条件是数据中又一个属性叫a,且a的值为1

    db.dropDatabase() #删除当前使用数据库

    db.copyDatabase("mydb","temp","127.0.0.1") #将本机的mydb的数据复制到temp数据库中

    db.getName()  #查看用户

    db.getMongo() #查看当前DB的连接机器地址

    得到了不该得到的得到,就会失去不该失去的失去! 忍受别人不能忍受的忍受,就能享受别人不能享受的享受!
  • 相关阅读:
    java连接oracle数据库的实现代码
    java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12505)(ERR
    Java连接MySQl数据库实现代码
    在JSP中使用BootStrap
    在Eclipse中添加添加一些有助于开发的插件
    再eclipse的javaweb项目中添加JQuery文件时jquery-2.1.4.min.js报错
    Oracle中的触发器
    oracle----约束
    oracle----删除数据
    oracle----修改表中的数据
  • 原文地址:https://www.cnblogs.com/sunjingjingking/p/9240097.html
Copyright © 2011-2022 走看看