一、安裝過程
1.到mongodb官網下載對應系統的壓縮包,我的系統是Ubuntu16.04,64位。(注意不要選錯系統版本,也可以在本地下載好後上傳到雲服務器)
2.默認下載路徑是到用戶目錄下的Downloads目錄,將其解壓
tar -zxvf mongodb-linux-x86_64-3.2.12.tgz
3.將解壓後的文件夾移動到/usr/local/的mongodb目錄下
mv -r mongodb-linux-x86_64-3.2.12 /usr/local/mongodb
4.配置系統文件profile
sudo vi /etc/profile
插入下列內容:
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
注意保存後要重啓系統配置:
source /etc/profile
5.創建用於存放數據和日誌文件的文件夾,並修改其權限增加讀寫權限
cd /usr/local/mongodb
sudo mkdir -p data/db
sudo chmod -r 777 data/db
sudo mkdir logs
cd logs
touch mongodb.log
6.mongodb啓動配置
進入到bin目錄,增加一個配置文件:
cd /usr/local/mongodb/bin
sudo vi mongodb.conf
插入下列內容:
dbpath = /usr/local/mongodb/data/db #數據文件存放目錄
logpath = /usr/local/mongodb/logs/mongodb.log #日誌文件存放目錄
port = 27017 #端口
fork = true #以守護程序的方式啓用,即在後臺運行
bind_ip=0.0.0.0 #允許任何IP進行連接
auth=true #是否授權鏈接
7. 啓動mongod數據庫服務,以配置文件的方式啓動
cd /usr/local/mongodb/bin
./mongod -f mongodb.conf
8.連接mongodb數據庫
./mongo
9.設置mongodb.service啓動服務,設置開機啓動
cd /lib/systemd/system
sudo vi mongodb.service
編輯其內容爲:
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/bin/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
10.設置mongodb.service權限
chmod 754 mongodb.service
11.系統mongodb.service的操作命令如下:
#啓動服務
systemctl start mongodb.service
#關閉服務
systemctl stop mongodb.service
#開機啓動
systemctl enable mongodb.service
12.mongodb.service啓動測試
13. 添加用戶
切換到 admin 庫
> use admin
switched to db admin
查看錶
> show collections
> system.users
> system.version
查看所有的用戶
> db.system.users.find()
創建管理員賬號
> db.createUser(
{user:'user',
pwd:'passwd',
roles:[
{role:'userAdminAnyDatabase', db:'admin'}
]
})
.
切換到具體的庫
> use tzzs
switched to db tzzs
創建這個數據庫的用戶
> db.createUser(
... { user: "tz",
... pwd: "tz123456",
... roles: [ { role: "readWrite", db: "tzzs" }]
... }
... )
.
出現下面的文字說明創建成功
Successfully added user: {
"user" : "tz",
"roles" : [
{
"role" : "readWrite",
"db" : "tzzs"
}
]
}
查看用戶
> show users
{
"_id" : "tzzs.tz",
"user" : "tz",
"db" : "tzzs",
"roles" : [
{
"role" : "readWrite",
"db" : "tzzs"
}
]
}
{
"_id" : "tzzs.tz2",
"user" : "tz2",
"db" : "tzzs",
"roles" : [
{
"role" : "readWrite",
"db" : "tzzs"
}
]
}
如果有安裝可視化軟件,我們可以很明顯的看到這個過程
①進入 admin 庫的過程,就是在查看這個結構的表
.
②創建管理員賬號就是創建了以下這條記錄
.
③以下是在 tzzs 庫下建的兩個用戶
二、安裝過程中遇到的問題
1.
mongod: error while loading shared libraries: libnetsnmpmibs.so.30: cannot open shared object file: No such file or directory
這個報錯信息是說找不到對應的庫文件,原因是一開始我下錯了安裝包版本,所以在下載是一定要注意自己系統的版本
2.通過配置文件啓動服務:mongod -f /etc/mongodb.conf 時報錯
Error parsing INI config file: unrecognised option 'nohttpinterface' try './
這個一開始讓我查了好久,後面查到是因爲我下載的最新版本的mongodb,而最新的版本貌似不支持以這種配置文件的方式來啓動服務,所以無奈我又重新下載安裝了3.2.12的版本,然後再次啓動服務就正常了。
3.啓動服務時報錯:
about to fork child process, waiting until server is ready for connections.
forked process: 11335
ERROR: child process failed, exited with error number 1
這個錯誤原因是dbpath文件的權限問題,data和logs目錄增加寫權限即可,上面提到了。