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