我采用官網的安裝教程,目前安裝版本《3.2.9》詳情見
https://docs.mongodb.com/master/tutorial/install-mongodb-on-ubuntu/?_ga=1.220435160.151130367.1473556609
導入key
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
由于我采用的16.04的版本 是以添加該源
echo"deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse"| sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
更新源
sudo apt-get update
安裝Mongodb以及相關插件
sudo apt-get install -y mongodb-org*
我沒有采用指定版本去安裝,如需要指定版本則采用
sudo apt-get install -y mongodb-org=3.2.9 mongodb-org-server=3.2.9 mongodb-org-shell=3.2.9 mongodb-org-mongos=3.2.9 mongodb-org-tools=3.2.9
将《3.2.9》改成你需要的版本号
以下是為了防止正式環境中自動更新,導緻資料出現問題,運作一下指令
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
到此為止就已經安裝完成,服務的話, 現在是自動就安裝了,是以就沒貼出來。
現在需要把Mongodb 跑起來,
sudo service mongod start
運作mongod 檢視Mongodb 是否運作成功
如出現以上錯誤提示,是Mongodb的db路徑沒配置對,解決方案
cd /var/bin
./mongod --dbpath /var/db/mongodb --logpath/root/mongodb/log/mongod.log
自己建立庫目錄,以及日志檔案,運作之後重新
sudo service mongod start
不出意外的情況是跑起來了的,
也可以用
sudo service mongod status 來檢查目前服務是否成功啟動
dos 下 mongo 就進入Mongodb 控制台了。
以上是安裝Mongodb 以及成功運作
當你需要給資料庫添加資料庫使用者驗證 :
mongo
use admin --切換庫到admin
由于采用的是3.2.9版本的MongoDB 建立使用者以及賦予權限與之前的版本不同
db.createUser(
{ user: "test",
pwd: "test",
roles: [ { role: "dbAdminAnyDatabase", db: "admin" } ]
}
)
上面這個例子賦予的權限是指定庫名為“admin”的所有權限,進入其他庫好像會出問題,說驗證權限有問題。
權限可以參考:
readAnyDatabase 任何資料庫的隻讀權限(和read相似)
readWriteAnyDatabase 任何資料庫的讀寫權限(和readWrite相似)
userAdminAnyDatabase 任何資料庫使用者的管理權限(和userAdmin相似)
dbAdminAnyDatabase 任何資料庫的管理權限(dbAdmin相似)
當建立使用者之後,就需要改配置檔案了
/etc/mongod.conf
開啟權限認證:
security:
authorization: enabled
以及:
/etc/mongodb.conf
auth = true 改行注釋去掉
注意這是兩個檔案,不是一個。
運作sudo service mongod restart 重新開機服務
驗證是否成功開啟使用者認證
mongo
show dbs
已經成功開啟,
切換到 “admin”庫
use admin
db.auth("test","test");
傳回值為1 表示驗證成功了
再次 show dbs
這個時候使用者認證已經添加完成了。
添加外網通路,有兩種方式,一種是在
cd /usr/bin/
./mongod --dbpath /var/db/mongodb --logpath /root/mongodb/log/mongod.log --fork --bind_ip aa.xx.cc.dd
該綁定ip是指你的外網ip
重新開機服務就可以了,
另外一種改配置檔案
/etc/mongod.conf
将bind_ip 加上注釋 重新開機服務就好了。
該文章純手打,如哪裡有錯誤或寫的不明白,請朋友們指點指點一二