Centos上安裝MongoDB4.X
- 2021 年 11 月 19 日
- 筆記
一、下載並解壓MongoDB
1、下載MongoDB 取件碼w2px
2、通過ftp軟件上傳的服務器上,我的位置:/root/softwares
3、解壓並放在opt文件夾下:tar zxvf mongodb4.2.2.tgz -C /opt/
4、切換到 opt 目錄:cd /opt
5、重命名 mv mongodb-linux-x86_64-rhel70-4.2.2 mongodb4
二、配置環境變量
1、vim /etc/profile
// /opt/mongodb4/bin 為當前需要新增的環境變量,$PATH為已有的環境變量,”:”為拼接
2、export PATH=/opt/mongodb4/bin:$PATH
// 執行文件刷新環境變量
3、source /etc/profile
三、創建數據庫目錄
// 進入/opt/mongodb4目錄
cd /opt/mongodb4
// 創建配置文件
touch mongodb.conf
// 創建db目錄
mkdir db
// 創建log目錄
mkdir log
// 進入log目錄
cd log
// 創建log文件
touch mongodb.log
四、修改配置文件
vim /opt/mongodb4/mongodb.conf
//寫入以下內容
port=27177 #端口 默認端口是27017,但是mongodb特別容易被攻擊,所以這裡不建議使用默認端口
dbpath= /opt/mongodb4/db #數據庫存文件存放目錄,如果有數據盤最好放在數據盤裏面
logpath= /opt/mongodb4/log/mongodb.log #日誌文件存放路徑
logappend=true #使用追加的方式寫日誌
fork=true #以守護進程的方式運行,創建服務器進程
maxConns=100 #最大同時連接數
auth=false #不啟用驗證,先不開啟,配完用戶在更改開啟
journal=true #每次寫入會記錄一條操作日誌(通過journal可以重新構造出寫入的數據)。
#即使宕機,啟動時wiredtiger會先將數據恢復到最近一次的checkpoint點,然後重放後續的journal日誌來恢復。
storageEngine=wiredTiger #存儲引擎有mmapv1、wiretiger、mongorocks
bind_ip = 0.0.0.0 #0.0.0.0代表任何IP地址,如果寫127.0.0.1那就只能本機訪問,其他同理
五、設置文件夾權限
cd /opt/mongodb4
chmod 777 db // 賦予該目錄可讀可寫可執行權限
chmod 777 log // 賦予該目錄可讀可寫可執行權限
六、啟動MongoDB
啟動命令:mongod -f /opt/mongodb4/mongodb.conf
如果是新服務器,有可能會報下面的錯誤,原因是沒有必要的依賴庫
解決方法:去//rpmfind.net/linux/rpm2html/search.php?query=libcrypto.so.10%28OPENSSL_1.0.2%29%2864bit%29&submit=Search+…&system=&arch=下載必要的依賴
下載下來之後直接安裝就行了:安裝命令:rpm -ivh compat-openssl10-1.0.2o-3.el8.x86_64.rpm
再次重啟,就成功了
七、創建超級管理員
先登錄mongo客戶端
創建超級管理員:
八、修改配置文件,開啟權限認證
九、重啟MongoDB
在重啟mongo之前,先說說怎麼關閉mongo
linux 如何正確的關閉mongodb
有的朋友說可以通過下面的命令關閉mongodb:
killall mongodb
#or
kill -9 mongo-pid
上面的方法確實可以關閉mongodb,但是正確的做法不是這樣子的,mongodb提供了關閉數據庫的命令:
首先需要進入到mongodb目錄下bin/mongo,連接到mongodb,然後執行下面腳本:
use admin
db.auth(“root”,”Se7eN521″)
db.runCommand(“shutdown”)
上面第一行切換到admin數據庫,第二行則是執行關閉操作
也可以使用db.shutdownServer()命令
關閉之後,再次重啟:
十、Navicat連接
如果出現下面錯誤,多數情況下是,新服務器沒有開放mongo的對外端口,在安全組(阿里雲)或者防火牆(騰訊雲)上開發端口
十一、設置mongo的開機啟動
1.在/lib/systemd/system/目錄下新建mongodb.service文件,內容如下:
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/opt/mongodb4/bin/mongod –config /opt/mongodb4/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/opt/mongodb4/bin/mongod –shutdown –config /opt/mongodb4/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
1、其中ExecStart和ExecStop換成自己的mongo路徑
2、更改權限: chmod 754 mongodb.service
3、啟動服務:systemctl start mongodb.service
4、關閉服務:systemctl stop mongodb.service
5、開機啟動:systemctl enable mongodb.service