天天看点

Linux下MongoDB(3.0)的安装和配置用户

1.下载MongoDB安装包

(该url是ubuntu 14.04的MongoDB版本),如需其他版本:https://www.mongodb.com/download-center#community

2.解压MongoDB安装包

tar -zxvf mongodb-linux-x86_64-.tgz
           

3.添加mongodb执行路径

(mongodb-install-directory为你 MongoDB 的安装路径)

4.创建mongodb数据库的位置,默认的数据库位置是/data/db,数据库文件夹需要自己创建,不会自动生成,若需自定义数据库位置,在运行时加上参数 –dbpath xxx

5.创建log文件夹,将MongoDB当做服务运行时,必须要指定log路径,–logpath xxx/xxx.log

6.执行运行MongoDB命令

(–fork意味着将MongoDB作为服务后台启动,此时启动mongodb访问是不需要账号密码的,具体权限如下)

7.添加管理用户(mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase)

use admin
db.createUser(
  {
    user: "admin",
    pwd: "reformerhz",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
           

(添加完用户后可以使用show users或db.system.users.find()查看已有用户)

8.添加完管理用户后,关闭MongoDB,并使用权限方式再次开启MongoDB,这里注意不要使用kill直接去杀掉mongodb进程,(如果这样做了,请去data/db目录下删除mongo.lock文件),可以使用db.shutdownServer()关闭。

9.使用权限方式启动MongoDB

(–auth表示使用权限方式启动MongoDB)

10.进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的。

use admin

11.验证之后还是做不了操作,因为admin只有用户管理权限,下面创建用户,用户都跟着库走,创建的用户都是。

use keyfree
db.createUser(
 {
   user: "root",
   pwd: "xxx",
   roles: [
      { role: "readWrite", db: "your_db_name" }
   ]
 }
)
           

12.之后root用户就对your_db_name有读写权限了