博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2.2. MongoDB 管理
阅读量:6463 次
发布时间:2019-06-23

本文共 2249 字,大约阅读时间需要 7 分钟。

2.2.1. Security and Authentication

开启认证

# vim /etc/mongodb.confauth = true

重载配置文件

# /etc/init.d/mongod reloadStopping mongod:                                           [  OK  ]Starting mongod:                                           [  OK  ]

2.2.1.1. 超级管理员

Database Administration Roles
use admin;db.createUser(   {     user: "admin",     pwd: "WkAFdmfVQpP1oAEkz4YVlMCDxkG36TAi",     roles: [ "dbAdmin", "dbOwner", "userAdmin" ]   });

2.2.1.2. 数据库访问用户

注意,只有创建了超级管理后,下面的操作才会生效

MongoDB

use productsdb.createUser(   {     user: "accountUser",     pwd: "password",     roles: [ "readWrite", "dbAdmin" ]   })

早期版本

> use neoswitched to db neo> db.addUser('neo','chen'){        "user" : "neo",        "readOnly" : false,        "pwd" : "68ace374737253d87e0ec91d4fcb673d"}> db.system.users.find(){ "_id" : ObjectId("4c481404b9db6474d2fcb76f"), "user" : "neo", "readOnly" : false, "pwd" : "68ace374737253d87e0ec91d4fcb673d" }> db.auth('neo','chen')1

2.2.1.3. 数据库监控用户

db.createUser(   {     user: "monitor",     pwd: "netkiller",     roles: [ "clusterMonitor"]   })

2.2.1.4. 删除用户

Deleting Users 删除用户

To delete a user:

> db.getUsers();[	{		"_id" : "test.monitor",		"user" : "monitor",		"db" : "test",		"roles" : [			{				"role" : "dbOwner",				"db" : "test"			}		]	}]			> db.dropUser('monitor')ture> db.getUsers();[ ]

早期版本

db.system.users.remove( { user: username } )

2.2.1.5. 更新角色

db.updateUser( "monitor",   {     roles: [ "read", "clusterMonitor" ]   })

2.2.2. Unique Indexes

增加索引:1(ascending),-1(descending)

2.2.2.1. 索引管理

增加索引

db.foo.ensureIndex({firstname: 1, lastname: 1}, {unique: true});

索引子对象

db.logging.users.ensureIndex({address.city:1})

查看索引信息

db.logging.getIndexes()[	{		"v" : 1,		"key" : {			"_id" : 1		},		"ns" : "logging.logging",		"name" : "_id_"	}]

db.logging.users.getIndexKeys()[ { "_id" : 1 }, { "name" : 1 } ]

根据索引名删除索引

> db.logging.users.dropIndex('name_1'){ "nIndexesWas" : 2, "ok" : 1 }> db.logging.users.getIndexKeys()[ { "_id" : 1 } ]
2.2.2.1.1. 唯一索引
db.members.createIndex( { "user_id": 1 }, { unique: true } )
> db.apple.createIndex({"devicetoken":1},{unique: true}){	"createdCollectionAutomatically" : false,	"numIndexesBefore" : 1,	"numIndexesAfter" : 2,	"ok" : 1}

原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

你可能感兴趣的文章
ios 不同sdk4.3 6.0版本号,关于方法的兼容性的通用方法
查看>>
js滚动加载到底部
查看>>
Virtualbox 虚拟机网络不通
查看>>
18年selenium3+python3+unittest自动化测试教程(下)
查看>>
memcache数据库和redis数据库的区别(理论)
查看>>
我的友情链接
查看>>
MyBatis+Spring结合
查看>>
Office 365之SkyDrive Pro
查看>>
Java Web 高性能开发
查看>>
Scala之柯里化和隐式转换
查看>>
mysql拷贝表的几种方式
查看>>
健忘的正则
查看>>
[转]CMake快速入门教程:实战
查看>>
IntelliJ IDEA创建JavaWeb工程及配置Tomcat部署
查看>>
Markdown用法
查看>>
轮播插件swiper.js?
查看>>
15 个 Android 通用流行框架大全
查看>>
IE8兼容@media和mp4视频的解决方案
查看>>
【转】知道这20个正则表达式,能让你少写1,000行代码
查看>>
自定义 启动和关闭 oracle 的命令
查看>>