CentOS下安裝MongoDB
MongoDB 是一個基於分佈式文件存儲的數據庫。由 C++ 語言編寫。旨在爲 WEB 應用提供可擴展的高性能數據存儲解決方案。
MongoDB 是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。
1 下載安裝
官網提供windows、Linux、OSX系統環境下的安裝包,這裏主要是記錄一下在Linux下的安裝。首先到官網下載最新的安裝包。這裏下載的是4.0.1版本的。
4.0.1版本適合CentOS系統的下載地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.1.tgz
1.1 在CentOS中,我們使用wget下載安裝包。
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.1.tgz
1.2 解壓並修改相關配置
1.2.1 解壓
tar -zxvf mongodb-linux-x86_64-4.0.1.tgz
1.2.2 重命名爲mongodb
mv mongodb-linux-x86_64-4.0.1 mongodb
1.2.3 創建文件:db用來存放數據庫、logs用來存放日誌
cd mongodb
mkdir db logs
1.2.4 添加配置文件
cd bin
vi mongodb.conf
內容如下:
dbpath=/root/apps/mongodb/db
logpath=/root/apps/mongodb/logs/mongodb.log
port=27017
fork=true
nohttpinterface=true
參數解釋:
dbpath: 數據庫存放位置
logpath:日誌存放位置
port:監聽端口
fork:是否後臺運行
nohttpinterface:是否關閉http接口
1.2.5 綁定ip和配置文件
./mongod --bind_ip 192.168.162.128 -f mongodb.conf
發現報錯:
我們把配置文件中的nohttpinterface=true去掉
報錯:
解決方法:
刪除db目錄下的mongod.lock文件
然後以修復的方式啓動
bin/mongod -f /root/apps/mongodb/bin/mongodb.conf --repair
1.2.6 開機啓動
vi /etc/rc.d/rc.local
添加如下內容:
/root/apps/mongodb/bin/mongod --bind_ip 192.168.162.128 -f /root/apps/mongodb/bin/mongodb.conf
1.2.7 自動安裝腳本
#! /bin/bash
download_url=https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.1.tgz
file_name=${download_url##*/}
file_dir=${file_name%.tgz*}
now_path=$(pwd)
dbpath=dbpath=${now_path}/${file_dir}/db
logpath=logpath=${now_path}/${file_dir}/logs/mongodb.log
fork=fork=true
port=port=27017
ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}')
# download
wget $download_url
# untgz
tar -zxvf $file_name
# cd
cd $file_dir
# mkdir
mkdir db logs
echo $dbpath >> bin/mongodb.conf
echo $logpath >> bin/mongodb.conf
echo $fork >> bin/mongodb.conf
echo $port >> bin/mongodb.conf
#bind
binpath=${now_path}/${file_dir}/bin
${binpath}/mongod --bind_ip ${ipaddr} -f ${binpath}/mongodb.conf
#開機啓動
echo ${binpath}/mongod --bind_ip ${ipaddr} -f ${binpath}/mongodb.conf >> /etc/rc.d/rc.local
2 連接使用
進入數據庫
./mongo 192.168.162.128
查看數據列表
show dbs;
查看版本
db.version()