千家信息网

3.2-MongoDB连接和用户管理

发表于:2024-11-12 作者:千家信息网编辑
千家信息网最后更新 2024年11月12日,* 连接MongoDB在本机可以直接运行命令mongo进入到mongodb shell中如果mongodb监听端口并不是默认的27017,则在连接的时候需要加--port 选项,例如mongo --p
千家信息网最后更新 2024年11月12日3.2-MongoDB连接和用户管理

* 连接MongoDB

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

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

mongo --port 27018

连接远程mongodb,需要加--host,例如

mongo --host 127.0.0.1

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

mongo -uusername -ppasswd //这个和MySQL挺像

退出数据库

ctrl+d


* MongoDB用户管理

首先mongodb用户是针对库来的,建立用户时要先进入到对应的库里

use test //切换到test库下,如库test不存在,则会自动创建。

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

use admin //切换到admin库

db.system.users.find() //列出所有用户,必须切换到admin库

show users //查看当前库下所有的用户

db.dropUser('admin') //删除用户

关于用户角色,参考文档http://bbs.51cto.com/thread-1146654-1.html


课后答疑:

问:db.createUser({user:"admin",pwd:"123456",roles:[{role:'dbOwner',db:'userdb'}]}) 为啥userdb都没看到?

答:这里的userdb是一个不存在的库,它在这里的意义只在于指定该用户是哪个库的所有者。


问:1、mongodb安装好后,原本有哪些库或者用户?

2、原本有locla库,创建用户后,增加了admin库,,还是没test库。

3、创建的用户登录不了数据库。

答:1. 进来后,直接show dbs 看 ,初始状态下,没有任何用户

2. test库需要创建具体的集合才会出现

3. 要想登陆,需要开启认证。 http://theadorelee.com/index.php/archives/60.html


0