Linux安裝mongodb


1.連接阿里雲服務器

連接阿里雲服務器較為簡單,這里不再贅述!

2.下載mongodb

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.9.tgz

3.解壓下載mongodb文件

tar zxvf mongodb-linux-x86_64-3.2.9.tgz

4.將解壓過后的包移動到指定目錄

mv mongodb-linux-x86_64-3.2.9/ /usr/local/mongodb

5.創建數據文件夾和日志文件等

mkdir -p  /usr/local/mongodb/data
touch /usr/local/mongodb/logs
touch /usr/local/mongodb/mongodb.conf

6.啟動

(1):第一種啟動方式:

##進入mongo的bin目錄下:
cd /usr/local/mongodb/bin
##通過參數無權限啟動(通過mongodb客戶端工具可直接訪問)--權限不足的話加上sudo
./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend  --port=27017 --fork 
##通過參數有權限啟動--權限不足的話加上sudo
./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --auth --port=27017 --fork
###mongodb非法關閉的時候若出現 about to fork child process, waiting until server is ready for connections 那么需要執行:
rm /data/mongodb/mongo.lock 命令    ###權限不足的話加上sudo
###再執行:
./mongod  --repair (命令修復)  ###權限不足的話加上sudo

(2):第二種啟動方式:

###通過配置文件啟動 首先進行配置:
vim /usr/local/mongodb/mongodb.conf   ###權限不足的話加上sudo
###在配置中加入如下代碼:
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/logs
logappend = true 
port = 27017 
fork = true 
auth = true
###加入后保存退出:
:wq
###進入mongo的bin目錄下:
cd /usr/local/mongodb/bin
###再執行:
./mongod --config /usr/local/mongodb/mongodb.conf

###如果執行以上命令出現權限問題則修改權限:
sudo chmod 777 mongodb.conf

7.啟動起來之后我們ps看一下有沒有當前進程,如果有的話那么就進入到bin目錄下直接./mongo進入數據庫:

ps aux | grep mongod

進入之后因為沒有賬戶信息,所以需要我們創建一個MongoDB用戶,創建命令如下:

# 先進入到管理員下
use admin

# 創建root用戶
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})

# 驗證用戶
db.auth("root","123456")

8.停止mongodb

./mongod -shutdown -dbpath=/usr/local/mongodb/data

9.開機啟動的配置

##加入開機啟動
vim /etc/rc.local
##在最下面加入
/usr/local/mongodb/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/logs --logappend --auth --port=27017 --fork
##或者創建配置文件(編輯mongodb.conf)
dbpath=/usr/local/mongodb/data
port=27017
auth=true
logpath=/usr/local/mongodb/logs
logappend=true
fork=true
##在/lib/systemd/system/目錄下新建mongodb.service文件(mongodb.service)
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/mongodb/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/mongodb/bin/mongod  --shutdown --config /usr/local/mongodb/mongodb.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

##設置權限    
chmod 754 mongodb.service  
##開機啟動   
systemctl enable mongodb.service 
##啟動服務    
systemctl start mongodb.service    
##關閉服務    
systemctl stop mongodb.service 
##加入環境變量 
vim /etc/profile
#在最后加入
export PATH="/usr/local/mongodb/mongodb/bin:$PATH"
#保存后執行
source /etc/profile
##mongodb導出導入
導出:mongodump -h 127.0.0.1 --port 27017 -u username -p password -d dbName -o D:\dbName
導入:mongorestore -h 127.0.0.1 --port 27017 -u username -p password -d dbName --drop D:\dbName 
##windows下添加mongo啟動到windows服務
mongod.exe --auth --config D:\mongodb\data\mongo.conf --install --serviceName "MongoDB" --journal
##如果忘記超級用戶密碼,可以先把配置文件的 auth=true 注釋,然后重啟mongo,之后進入終端用下面命令修改密碼
db.changeUserPassword("root","root")

10.mongodb錯誤的總結

(1).child process failed, exited with error number 1

(2).child process failed, exited with error number 48

(3).child process failed, exited with error number 100


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM