linux中安裝mongodb

一、安裝過程

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目錄增加寫權限即可,上面提到了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章