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#將顯示默認數據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都可以進入控制臺
?【最喜歡你一言不合就打賞的樣子啦~~~哈哈哈】
轉載于:https://www.cnblogs.com/nicolegxt/p/efef2a960fdf11627d9e3e8d70c1b5f9.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的linux安装mongodb(设置非root用户和开机启动)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring整合dubbo和spring
- 下一篇: linux之sed