linux安裝mongodb(設置非root用戶和開機啟動)


官網地址: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#將顯示默認數據adminlocal

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都可以進入控制台


 【最喜歡你一言不合就打賞的樣子啦~~~哈哈哈】


免責聲明!

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



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