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的连接机器地址

得到了不该得到的得到,就会失去不该失去的失去! 忍受别人不能忍受的忍受,就能享受别人不能享受的享受!
原文地址:https://www.cnblogs.com/sunjingjingking/p/9240097.html