官網地址:https://www.mongodb.com/
在官網上選擇不同的linux系統得到不同的下載地址,我們用的下載地址是:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz
1.mongodb的安裝及連接
cd opt/
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz #下載
tar zxvf mongodb-linux-x86_64-rhel62-3.4.3.tgz #解壓
cd ../
mkdir -p /usr/local/mongodb #創建mongodb的安裝目錄
mv /opt/mongodb-linux-x86_64-rhel62-3.4.3 /usr/local/mongodb #移動解壓文件到安裝目錄
mkdir -p /data/mongodb/data #創建mongodb數據庫存放路徑
mkdir -p /data/mongodb/log #創建mongodb日志存放路徑
touch/data/mongodb/log/mongodb.log #創建mongodb日志文件
/usr/local/mongodb/bin/mongod –dbpath=/data/mongodb/data –logpath= /data/mongodb/log/mongodb.log –logappend –port 27017 --fork
#啟動mongodb服務
(注:mongodb默認不需要輸入用戶名和密碼,出於安全考慮,我們可以設置用戶名和密碼,詳見mongodb用戶權限管理)
./usr/local/mongodb/bin/mongo #進入mongodb數據庫控制台
show dbs#將顯示默認數據admin和local
db.shutdownServer() #關閉mongodb服務
exit#退出控制台
2.參數解釋
啟動服務時用到的如下:
--dbpath 數據庫路徑
--logpath 日志文件路徑
--logappend 日志在日志文件末尾追加
--port 啟用的端口號【可不寫,默認是27017】
--fork 讓mongodb服務在后台運行
3.創建配置文件及腳本文件
為了更方便的配置及啟動數據庫,我們可以創建配置文件及腳本文件
touch /usr/local/mongodb/mongodb.conf #創建配置文件
vi /usr/local/mongodb/mongodb.conf #編輯
>
#端口
port=27017
#數據文件存放目錄
dbpath= /data/mongodb/data
#日志文件路徑
logpath=/data/mongodb/log/mongodb.log
#使用追加的方式寫日志
logappend=true
#以守護程序的方式啟用,即在后台運行
fork=true
#最大同時連接數 默認2000
maxConns=5000
#允許所有IP訪問,如果要限制訪問,可指定以逗號分隔的ip地址
bind_ip=0.0.0.0
#是否啟用身份認證
auth=false
nohttpinterface=true
rest=false
Esc + :wq! #保存並退出
touch start.sh #創建啟動腳本文件
vi start.sh #編輯
>
#!/bin/sh
bin/mongod -f mongodb.conf
Esc + :wq! #保存並退出
chmod u+x start.sh #賦予權限
./start.sh #執行腳本啟動服務
4.非root用戶安裝mongodb【出於安全考慮】
日常操作中為了避免一些誤操作,更加安全的管理系統,通過使用的用戶身份都為普通用戶,而非root。當需要執行一些管理員命令操作時,再切換成root用戶身份去執行。
linux切換用戶知識補充:
A.su - (su為switch user,即切換用戶的縮寫),格式:su -l username(-l為login,即登錄的縮寫),-l可以將l省略掉,所以此命令常寫為su - username。
如果不指定username(用戶名),默認即為root,所以切換到root身份的命令即為:su - root 或是直接su -。
通過命令exit或者logout或者ctrl+d返回原用戶身份。
B.通過su切換用戶還可以直接使用命令su username,與su - username的不同之處如下:
su - username切換用戶后,同時切換到新用戶的工作環境中。
su username切換用戶后,不改變原用戶的工作目錄及其他環境變量目錄。
創建mongo用戶:
useradd mongo
passwd mongo
一.從root切換到mongo身份,執行:su - mongo,然后執行以上mongodb的安裝流程即可。
二.現在root用戶下執行以上mongodb的安裝流程,然后給mongodb的安裝目錄和數據庫目錄指定mongo用戶,再切換到mongo用戶,執行數據庫連接即可。
chown -R mongo:mongo /usr/local/mongodb
chown -R mongo:mongo /data/mongodb/
如果mongodb服務啟動失敗,則我們可以查看/data/mongodb/log/mongodb.log日志信息,以找到錯誤原因來解決問題。
5.遠程連接mongodb失敗
遠程連接失敗可能有兩個原因:
A.mongodb的配置文件中的bind_ip默認為127.0.0.1,默認只有本機可以連接。解決方案:將bind_ip配置為0.0.0.0,表示接受任何ip的連接;如果要限制訪問,可以指定以逗號分隔的多個ip地址。
B.防火牆阻止了27017端口。解決方案:
vi /etc/sysconfig/iptables // 將27017端口加入防火牆
service iptables restart // 重啟防火牆
或者:
Linux關閉防火牆命令
1) 永久性生效,重啟后不會復原
開啟:chkconfig iptables on
關閉:chkconfig iptables off
2) 即時生效,重啟后復原
開啟:service iptables start
關閉:service iptables stop
6.設置開機啟動mongodb
A.添加mongodb系統服務:vim etc/rc.d/init.d/mongod
B.輸入以下內容:
ulimit -SHn 655350
#!/bin/sh
# chkconfig: - 64 36
# description:mongod
case $1 in
start)
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf
;;
stop)
/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.auth('root','123456');db.shutdownServer()"
;;
#db.auth('root','123456');當數據庫進行了用戶認證時,才需要加這一句,root和123456為用戶名和密碼
status)
/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()"
;;
esac
C.保存完之后,添加腳本執行權限:chmod +x /etc/rc.d/init.d/mongod
D.啟動mongodb服務:service mongod start
E.關閉mongodb服務:service mongod stop
F.將此服務設置為開機啟動:chkconfig mongod on,然后重新啟動機器進行測試。
G.驗證mongodb是否啟動:lsof -i :27017,檢測端口是否在使用中。
7.將mongodb添加到環境變量
vi etc/profile #編輯環境變量文件
export PATH=$PATH:/usr/local/mongodb/bin
Esc + :wq! #保存並退出
source /etc/profile #使配置立即生效
mongo#現在在任何目錄下執行mongo都可以進入控制台
【最喜歡你一言不合就打賞的樣子啦~~~哈哈哈】