前段時間一直在研究MongoDB,看了一些書,網上也看了很多資料,其實都是抄來抄去,很多根本都沒有經過自己驗證,隨便往部落格上一貼,然後坑死人,這樣真的要不得,本人在開始就深受其害,所以這裡未免後來人也跟我一樣走這些彎路,自己就花點時間把自己的一些實踐操作整理了下,寫了這篇文章。
文章很簡單,主要還是講基本的配置,關鍵是配置的時候要細心,這裡沒有講到原理性的東西,畢竟篇幅有限,所以如果大家在配置過程中有什麼疑點都可以和我交流。希望大家多多支援。
還有,我工作很忙的,寫篇文章也不容易,大家覺得寫得有用,給個回複,表示下支援,也算給點動力啦,呵呵。
一.Mongodb的安裝
環境:linux 64bit
版本:2.0.1
位置:/opt/mongodb
安裝步驟:
tar –zxvf mongodb-linux-x86_64-2.0.1.tar –C /opt/mongodb
mkdir /opt/mongodb/data
touch /opt/mongodb/logs
安裝是很簡單的,關鍵是下面的啟動的配置。啟動配置有三種情況,分別是正常的單主機啟動,主從啟動,複本集啟動三種方式。
1. 單主機啟動方式
啟動
cd /opt/mongodb/bin
/opt/mongodb/bin/mongod –f mongodb.conf
#mongodb.conf是自訂的啟動設定檔,其中參數auth表明需要認證才能登入,內容如下:
#start as daemon and need authentication
port=27017
fork=true
dbpath=/opt/mongodb/data/
logpath=/opt/mongodb/logs
auth=true
設定開機自動啟動(可選)
echo "/opt/mongodb/bin/mongod –f /opt/mongodb/bin/mongodb.conf" >> /etc/rc.local
設定密碼
#串連mongodb
cd /opt/mongodb/bin
./mongo
#預設進入到mongodb預設的test庫
#為資料庫設定使用者名稱密碼
#首先切換到admin庫,先建立一個管理員帳號
> use admin
> db.addUser("root","root");
#切換到test庫
use test
#為test庫添加使用者名稱和密碼
> db.addUser("testUser","123456");
#註:若此時顯示
Tue May 22 16:16:29 uncaught exception: error {
"$err" : "unauthorized db:test lock type:-1 client:127.0.0.1",
"code" : 10057
}
說明設定密碼已生效,此時要先轉到admin庫,輸入認證再轉回到test庫設定使用者名稱密碼,如下:
use admin
db.auth(“root”,”root”);
use test
#下次再串連mongodb時需要使用如下方式:
./mongo –u testUser –p 123456
#刪除使用者
Db.system.users.remove({“user”:”testUser”});
#註:mongodb的使用者名稱和密碼都是針對每一個庫的,所以不同的庫可以設定不同的使用者名稱和密碼。