CentOS 6.x 安装mongodb,创建数据库读写用户操作数据库

具体的安装可参考 安装参考链接

此处记录安装完成后在使用过程中时遇到几个的问题:

1.选择数据库后,创建数据集runnob时报错 "not authorized on testu to execute command { create: \"runoob\", lsid: { id: UUID(\"f1679fbe-ace3-4cca-983b-1f9adfdb1dca\") }, $db: \"testu\" },Unauthorized。

CentOS 6.x 安装mongodb,创建数据库读写用户操作数据库_第1张图片

 

2.出现这个错误是因为当前登录的用户mongo-admin没有读写数据库的权限 ,想要操作该数据库创建数据集,解决办法是创建一个读写用户,使用新创建的用户来执行对应的操作。

CentOS 6.x 安装mongodb,创建数据库读写用户操作数据库_第2张图片

执行完上述创建用户操作后还不行,执行db.stats()依旧会报无权在admin数据库中执行命令,错误截图如下:

CentOS 6.x 安装mongodb,创建数据库读写用户操作数据库_第3张图片

给用户授权,并授予用户admin数据库的只读角色权限后操作执行成功。

CentOS 6.x 安装mongodb,创建数据库读写用户操作数据库_第4张图片

3.赋予用户读写数据库的权限后才能在新数据库中创建和读写数据集。

CentOS 6.x 安装mongodb,创建数据库读写用户操作数据库_第5张图片

4.使用新建用户登录数据库,即可成功执行创建数据集命令。

CentOS 6.x 安装mongodb,创建数据库读写用户操作数据库_第6张图片

5.如果只想为某个数据库创建用户怎么办?

假设此时我们有一个数据库testu,我们想为该数据库单独建立一个数据库,则可以通过执行以下命令来实现(注意此用户只能连接和操作当前数据库,不能执行其余数据库的命令,例如:查看服务器状态命令之类等等)。

 db.createUser({user:"testUser",pwd:"123456",roles:[{"role":"readWrite","db":"testu"}]});

 

你可能感兴趣的:(NoSQL学习,mongodb)