【資料庫】Linux下MongoDB的安裝和配置

来源:https://www.cnblogs.com/alenghan/archive/2020/07/01/13220809.html
-Advertisement-
Play Games

MongoDB安裝 選擇使用Yum安裝 1、製作 repo 文件 cat << EOF > /etc/yum.repos.d/mongodb-org-4.2.repo [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mon ...


MongoDB安裝

選擇使用Yum安裝

1、製作 repo 文件

cat << EOF > /etc/yum.repos.d/mongodb-org-4.2.repo
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
EOF
12345678

baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.2/x86_64/安裝失敗,嘗試把地址寫死為7,安裝基於centos7的版本。可以成功安裝
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/

2、使用yum 命令安裝

yum install -y mongodb-org

3、啟動mongodb

安裝完啟動服務則可以使用

啟動、停止、重啟命令如下:

service mongod start
service mongod stop
service mongod restart

4、開放mongodb的遠程連接

mongodb的配置文件是 /etc/mongod.conf

如果要開放遠程訪問需要修改該文件的 bindIp值為: 0.0.0.0 ,否則通過其它電腦是連接不到的

vim /etc/mongod.conf

文件修改後要執行 restart 使配置生效

service mongod restart

如果仍不能遠程連接,查看防火牆狀態,如果防火牆開啟,關閉防火牆或讓防火牆放開 27017 埠(該埠是mongodb的預設埠,可通過配置文件修改mongodb的埠)
查看防火牆狀態

firewall-cmd --state   

關閉防火牆狀態

systemctl stop firewalld.service 

防火牆放開 27017 埠

firewall-cmd --permanent --zone=public --add-port=27017/tcp
firewall-cmd --reload 

測試是否可以遠程連接

http://伺服器ip:27017/

阿裡雲伺服器則需要添加埠得安全組

5、創建用戶和密碼

1.進入mongo shell

[root@iZ2ze1wbnx7ym2bkq1xtk5Z conf.d]# mongo
MongoDB shell version v4.2.8
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("73551ca3-8d61-4ce2-a5d1-c0563f9828d4") }
MongoDB server version: 4.2.8
Server has startup warnings: 
2020-07-01T15:24:12.665+0800 I  CONTROL  [initandlisten] 
2020-07-01T15:24:12.665+0800 I  CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2020-07-01T15:24:12.665+0800 I  CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2020-07-01T15:24:12.665+0800 I  CONTROL  [initandlisten] 
2020-07-01T15:24:12.665+0800 I  CONTROL  [initandlisten] 
2020-07-01T15:24:12.665+0800 I  CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2020-07-01T15:24:12.665+0800 I  CONTROL  [initandlisten] **        We suggest setting it to 'never'
2020-07-01T15:24:12.665+0800 I  CONTROL  [initandlisten] 
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).

The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.

To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---

> 

2.切換到admin資料庫

admin這個庫是mongodb自動帶的,專門管理用戶和許可權的,創建超級用戶,這個用戶可以管理所有用戶的增刪改以及許可權控制

> use admin
switched to db admin

3.添加賬戶

創建一個超級管理員許可權(擁有userAdminAnyDatabasereadWriteAnyDatabase兩個許可權)的用戶。用戶名和密碼隨便寫,但是角色必須是這兩個
db.createUser( { user: "alenghan", pwd: "123456", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] } )

註:``db.createUser()`的具體使用方法:鏈接地址

創建完成就可以使用命令鏈接

mongo --port 27017 -u "alenghan" --authenticationDatabase "admin" -p 123456

4.修改mongo.conf文件

停止mongodb服務(service mongod stop),修改配置文件(/etc/mongod.conf

# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
systemLog: #系統日誌
  destination: file #日誌輸出目的地
  logAppend: true # 如果為true,當mongod/mongos重啟後,將在現有日誌的尾部繼續添加日誌。否則,將會備份當前日誌文件,然後創建一個新的日誌文件;預設為false。
  path: /var/log/mongodb/mongod.log #日誌路徑

# Where and how to store data.
storage:
  dbPath: /var/lib/mongo # mongod進程存儲數據目錄,此配置僅對mongod進程有效
  journal:
    enabled: true #是否開啟journal日誌持久存儲,journal日誌用來數據恢復,是mongod最基礎的特性,通常用於故障恢復。64位系統預設為true,32位預設為false,建議開啟,僅對mongod進程有效。
#  engine: #存儲引擎類型,mongodb 3.0之後支持“mmapv1”、“wiredTiger”兩種引擎,預設值為“mmapv1”;官方宣稱wiredTiger引擎更加優秀。
#  wiredTiger: #對wiredTiger引擎配置生效

# how the process runs
processManagement:
  fork: true  # fork and run in background 運行在後臺
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile PID文件路徑
  timeZoneInfo: /usr/share/zoneinfo 

# network interfaces
net:
  port: 27017 #埠
  bindIp: 127.0.0.1 
  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting. 綁定外網op 多個用逗號分隔,如果開放全部外網訪問, 輸入0.0.0.0
  # maxIncomingConnections: 65536  #進程允許的最大連接數 預設值為65536
  # wireObjectCheck: true #當客戶端寫入數據時 檢測數據的有效性(BSON) 預設值為true
  
#security: #安全有關的配置
  #authorization: enabled #disabled或者enabled,僅對mongod有效;表示是否開啟用戶訪問控制(Access Control),即客戶端可以通過用戶名和密碼認證的方式訪問系統的數據,預設為“disabled”,即客戶端不需要密碼即可訪問資料庫數據。(限定客戶端與mongod、mongos的認證)
  #javascriptEnabled: true #true或者false,預設為true,僅對mongod有效;表示是否關閉server端的javascript功能,就是是否允許mongod上執行javascript腳本,如果為false,那麼mapreduce、group命令等將無法使用,因為它們需要在mongod上執行javascript腳本方法。如果你的應用中沒有mapreduce等操作的需求,為了安全起見,可以關閉javascript。
  
#operationProfiling: #性能分析器
  #slowOpThresholdMs: 100 #資料庫profiler判定一個操作是“慢查詢”的時間閥值,單位毫秒;
  #mode: off #資料庫profiler級別,操作的性能信息將會被寫入日誌文件中,
  # 可選值:1)off:關閉profiling
  #       2)slowOp:on,只包含慢操作日誌
  #       3)all:on,記錄所有操作
  # 資料庫profiling會影響性能,建議只在性能調試階段開啟。此參數僅對mongod有效。
  
#replication: #主從複製 主備模式 這個是大點,需要單獨講
  #oplogSizeMB:10240 #replication操作日誌的最大尺寸,單位:MB。

#sharding: #sharding架構 集群中使用,暫時沒有接觸

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 配置無密碼登陸本機ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsacat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 0600 ~/.ssh/authorized_keys然後將~/.ssh/id_rsa.pub即... ...
  • 常用變數命名規則建議 倍福虛擬學院(https://tr.beckhoff.com.cn/) 1. 常量 1 常量都用大寫字母來表示, 用下劃線 “_” 加強可讀性。 1 VAR CONSTANT 2 MAX_HEIGHT: REAL := 1234; (* [Pa]*) 3 END_VAR 2. ...
  • 痞子衡最近在參與一個基於 i.MXRT1170 的項目,項目有個需求,需要在 Flash 里實時保存一些關鍵數據(初步設 512 bytes),掉電能恢復。這些數據在訪問方式上要友好,最好是很簡單的 API 介面,上層無需操心關鍵這些數據在 Flash 里是如何存儲以及具體存儲在什麼位置,只需在意關... ...
  • Java類在CMD命令行下運行要註意什麼? 1、刪除Java類中的package語句 2、如果包含中文字元,可追加 -encoding utf-8 3、在Java類所在目錄 打開CMD 首先按住shift鍵,然後滑鼠右擊java類所在目錄空白處,點選在此處打開命令視窗 4、運行如下命令: javac ...
  • # 【VM機器,二進位安裝】 # 安裝環境# OS System = CentOS-7.4 X64# JDK = jdk-12.0.2# zookeeper = zookeeper-3.6.1-x64# zkui = zkui-2.0 , 備註:main.java有修複一個bug關於config.c ...
  • 今天要給大家介紹的一個 Unix 下的一個 網路數據採集分析工具,也就是我們常說的抓包工具。 與它功能類似的工具有 wireshark ,不同的是,wireshark 有圖形化界面,而 tcpdump 則只有命令行。 由於我本人更習慣使用命令行的方式進行抓包,因此今天先跳過 wireshark,直接 ...
  • 第一個步驟:修改ssh服務配置文件 vi /etc/ssh/sshd_config 79 GSSAPIAuthentication no 115 UseDNS no 第二個步驟:修改hosts文件 [root@oldboyedu ~]# vi /etc/hosts 10.0.0.200 oldboy ...
  • Harbor介紹與安裝部署,並實現通過http和https協議【自簽發SSL證書】訪問,客戶端如何通過Harbor鏡像倉庫實現鏡像的上傳【推送】與下載【拉取】。 ...
一周排行
    -Advertisement-
    Play Games
  • C#TMS系統代碼-基礎頁面BaseCity學習 本人純新手,剛進公司跟領導報道,我說我是java全棧,他問我會不會C#,我說大學學過,他說這個TMS系統就給你來管了。外包已經把代碼給我了,這幾天先把增刪改查的代碼背一下,說不定後面就要趕鴨子上架了 Service頁面 //using => impo ...
  • 委托與事件 委托 委托的定義 委托是C#中的一種類型,用於存儲對方法的引用。它允許將方法作為參數傳遞給其他方法,實現回調、事件處理和動態調用等功能。通俗來講,就是委托包含方法的記憶體地址,方法匹配與委托相同的簽名,因此通過使用正確的參數類型來調用方法。 委托的特性 引用方法:委托允許存儲對方法的引用, ...
  • 前言 這幾天閑來沒事看看ABP vNext的文檔和源碼,關於關於依賴註入(屬性註入)這塊兒產生了興趣。 我們都知道。Volo.ABP 依賴註入容器使用了第三方組件Autofac實現的。有三種註入方式,構造函數註入和方法註入和屬性註入。 ABP的屬性註入原則參考如下: 這時候我就開始疑惑了,因為我知道 ...
  • C#TMS系統代碼-業務頁面ShippingNotice學習 學一個業務頁面,ok,領導開完會就被裁掉了,很突然啊,他收拾東西的時候我還以為他要旅游提前請假了,還在尋思為什麼回家連自己買的幾箱飲料都要叫跑腿帶走,怕被偷嗎?還好我在他開會之前拿了兩瓶芬達 感覺感覺前面的BaseCity差不太多,這邊的 ...
  • 概述:在C#中,通過`Expression`類、`AndAlso`和`OrElse`方法可組合兩個`Expression<Func<T, bool>>`,實現多條件動態查詢。通過創建表達式樹,可輕鬆構建複雜的查詢條件。 在C#中,可以使用AndAlso和OrElse方法組合兩個Expression< ...
  • 閑來無聊在我的Biwen.QuickApi中實現一下極簡的事件匯流排,其實代碼還是蠻簡單的,對於初學者可能有些幫助 就貼出來,有什麼不足的地方也歡迎板磚交流~ 首先定義一個事件約定的空介面 public interface IEvent{} 然後定義事件訂閱者介面 public interface I ...
  • 1. 案例 成某三甲醫預約系統, 該項目在2024年初進行上線測試,在正常運行了兩天後,業務系統報錯:The connection pool has been exhausted, either raise MaxPoolSize (currently 800) or Timeout (curren ...
  • 背景 我們有些工具在 Web 版中已經有了很好的實踐,而在 WPF 中重新開發也是一種費時費力的操作,那麼直接集成則是最省事省力的方法了。 思路解釋 為什麼要使用 WPF?莫問為什麼,老 C# 開發的堅持,另外因為 Windows 上已經裝了 Webview2/edge 整體打包比 electron ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...