一. 在Ubuntu下最傻瓜的步驟(以下都在root用戶下進行操作):
MongoDB安裝很簡單,無需下載源文件,可以直接用apt-get命令進行安裝。
打開終端,輸入以下命令:
sudo apt-get install mongodb
2.這時裝好以后應該會自動運行mongod程序,通過"pgrep mongo -l "查看進程是否已經啟動
3.在終端輸入"mongo",然后回車進入數據庫
(Over)
下面說下如何自己啟動mongodb的程序。
二. 重啟系統以后mongo程序要自己重新手動啟動,步驟如下:
1.運行“locate mongo”命令查看系統默認把mongo裝到了哪里,這里主要關注三個東西.
(1)一個是名為“mongod”的程序的位置(他相當於mongo數據庫的Server,需要一直在后台運行,我的路徑:/usr/bin/mongod);
(2)一個是mongo 數據庫log日志文件的位置(log日志文件要查看到具體的文件名,具體用法在后面有介紹,我的路徑:/var/log/mongodb/mongodb.log);
(3)一個是mongo的log日志的位置(我的路徑:/var/log/mongodb/mongodb.log)。
2.先進入mongod所在的目錄(/usr/bin/mongod),然后運行“./mongod --dbpath /var/lib/mongodb/ --logpath /var/log/mongodb/mongodb.log --logappend &”
--dbpath:指定mongo的數據庫文件在哪個文件夾
--logpath:指定mongo的log日志是哪個,這里log一定要指定到具體的文件名
--logappend:表示log的寫入是采用附加的方式,默認的是覆蓋之前的文件
&:表示程序在后台運行
注意:如果是系統非正常關閉,這樣啟動會報錯,由於mongodb自動被鎖上了,這是需要進入mongodb數據庫文件所在的目錄(/var/lib/mongodb/),刪除目錄中的mongodb.lock文件,然后再進行上述操作。
安裝好以后就可以通過編寫C++程序進行相應的數據庫操作了,編寫簡單的連接mongo的C++程序以及如果解決mongo動態庫鏈接失敗的情況在另一篇文章中介紹。
關閉/啟動
sudo service mongodb stop sudo service mongodb start
設置數據庫連接密碼:
在跟目錄創建文件夾: data/db
關閉現有服務。
sudo service mongodb stop
重新啟動服務
$ mongod –auth
創建連接用戶
$ mongo
>use admin
switched to db admin
>db.addUser("root","1983")
關閉服務(直接在 mongod 啟動的命令窗口 “ctrl + C”)
重啟服務:
$: mongod –auth
查看是否開始驗證:、
$ mongo
MongoDB shell version: 2.0.4
connecting to: test
>use admin
switched to db admin
>show collections
Fri Mar 14 09:07:08 uncaught exception: error: {
"$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1",
"code" : 10057
}
有提示 鏈接錯誤。
進行用戶驗證:
>db.auth("root","1983")
1
重新查看就可以查看數據集
>show collections
system.indexes
system.users
設置客戶端連接:
默認安裝的話只允許 127.0.0.1 的IP 連接.
需要修改/etc/mongodb.conf 注釋下列記錄:
打開文件:
$ sudo gedit /etc/mongodb.conf
注釋記錄:
#bind_ip = 0.0.0.0
mongodb 遠程訪問配置(ubuntu)
1、首先修改mongodb的配置文件 讓其監聽所有外網ip,如果不行,連接的時候肯定會有異常
編輯文件:vi /etc/mongodb.conf
修改后的內容如下:
bind_ip = 0.0.0.0 或者 #bind_ip 127.0.0.1
port = 27017
auth=true (添加帳號,密碼認證)
2、/etc/init.d/mongodb restart
3、連接
#本地連接
/usr/local/mongodb/bin/mongo
#遠程連接
/usr/local/mongodb/bin/mongo127.0.0.1/admin-u username -p password
4、給某個數據庫添加用戶訪問權限
db.addUser('user','pwd')
db.auth('user','pwd')
5、刪除用戶
db.removeUser('username')