mongo在centos與windows上部署與配置,及遠程連接mongo與數據用戶和角色分配


1.下載mongodb社區版:

windows 安裝包安裝: https://www.mongodb.com/download-center#community(mongo下載中心)

 

配置環境變量 控制面板 ->系統->高級系統設置->環境變量->系統變量path 追加 C:\Program Files\MongoDB\Server\3.2\bin; (mongo默認安裝位置bin目錄下)

 

啟動數據庫:

 新建 c://xx/mondb

新建 c://xx/monlog

mongod --dbpath c://xx/mondb   // 然后訪問localhost:27017 (可以看到mongo給的一句提示英文,

It looks like you are trying to access MongoDB over HTTP on the native driver port.)說明成功。

 

配置mongo作為windows的一個服務來啟動

    新建文件:c:xx/conf/mongod.cfg

  內容 :

systemLog:
   destination: file
   path: C:\xx\mondblog\mongod.log
   logAppend: true
storage:
    dbPath: C:\xx\mondb

然后打開命令行(以管理員身份運行,windows下只有管理員可以創建服務)

mongod --config "C:\xx\mongod.cfg" --serviceName mongodbs --serviceDisplayName mongodbs --install

 

服務安裝成功后就可以使用

net start mongodbs  (啟動數據庫)
net stop mongodbs   (關閉數據庫)

 

 

 

centos (包管理器安裝):

創建yum庫配置文件: /etc/yum.repos.d/mongodb-org-3.4.repo

內容為:

[mongodb-org-3.4]
name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc


運行命令 :sudo yum install -y mongodb-org

安裝完后mongo
默認配置文件位於 /etc/mongod.conf
數據文件存儲在
/var/lib/mongo

日志文件存儲在
/var/log/mongodb


啟動mongo數據庫
sudo service mongod start
sudo service mongod stop
sudo service mongod restart

查看mongo數據庫的狀態 內存占用等
mongostat






此時數據庫可在localhost上隨意連接並使用,無需用戶名與認證機制。



2.
開啟mongodb的遠程連接
編輯mongod.conf文件
net:
  # bindIp: 127.0.0.1  # Listen to local interface only, comment to listen on all interfaces.

給binIp這行加上注釋,然后重啟mongodb,此時可以從任何地方使用ip地址訪問數據庫 如 100.161.10.299:27017



3. mongodb開啟認證,創建數據庫用戶並分配角色,然后使用用戶名密碼登錄

1.使用ssh登錄遠程服務器 (windows本機則直接打開本地命令行)

2.使用mongo shell 創建用戶
輸入 mongo 進入mongo shell

use admin;

db.createUser({user:"xx",pwd:"xxpwd",roles:["dbAdminAnyDatabase","readWriteAnyDatabase","root"]});

3.啟用mongo 的認證機制
編輯 mongod.conf文件:
追加上
security:
    authorization: "enabled"

重啟mongo服務

參考:
配置文件的配置項:
https://docs.mongodb.com/master/reference/configuration-options/#security-options

此時連接mongodb需要用用戶名密碼登錄並驗證,
然后再為特定的庫創建該庫的用戶登錄並登錄

mongo //進入mongo 命令行

connect("mongodb://xx:xxpwd@localhost:27017/admin"); //使用指定的用戶連接
use admin; //指定使用的數據庫
db.auth(xx,xxpwd); // 進行auth 注意:沒認證前沒有資格操作任何數據庫,auth成功返回1,失敗返回0

use pca; // 指定要創建用戶的數據庫
db.createUser({user:"xx1",pwd:"xx1pwd",roles:[{role: "userAdmin", db: "pca"},{role: "readWrite", db: "pca"},{role: "dbAdmin",db: "pca"}]}); //為pca數據庫 創建用戶


完畢 此時可以使用

xx1 xx1pwd 登錄並操作pca數據庫


4.注意此時可能服務器由於防火牆不開發27017端口而遠程連接失敗

防火牆開放27017端口:
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT



免責聲明!

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



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