1. 程式人生 > >Linux下MongoDB(3.0)的安裝和配置使用者

Linux下MongoDB(3.0)的安裝和配置使用者

1.下載MongoDB安裝包

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1404-3.2.7.tgz 

2.解壓MongoDB安裝包

tar -zxvf mongodb-linux-x86_64-3.0.6.tgz

3.新增mongodb執行路徑

export PATH=<mongodb-install-directory>/bin:$PATH

(mongodb-install-directory為你 MongoDB 的安裝路徑)

4.建立mongodb資料庫的位置,預設的資料庫位置是/data/db,資料庫資料夾需要自己建立,不會自動生成,若需自定義資料庫位置,在執行時加上引數 –dbpath xxx

5.建立log資料夾,將MongoDB當做服務執行時,必須要指定log路徑,–logpath xxx/xxx.log

6.執行執行MongoDB命令

./mongod --dbpath /data/db --logpath /usr/local/mongodb/log/mongo.log --fork

(–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

./mongod --dbpath /data/db --logpath /usr/local/mongodb/log/mongo.log --fork --auth

(–auth表示使用許可權方式啟動MongoDB)

10.進入mongo shell,使用admin資料庫並進行驗證,如果不驗證,是做不了任何操作的。
use admin

db.auth("admin","reformerhz") #認證,返回1表示成功

11.驗證之後還是做不了操作,因為admin只有使用者管理許可權,下面建立使用者,使用者都跟著庫走,建立的使用者都是。

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

12.之後root使用者就對your_db_name有讀寫許可權了