欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在阿里云centos下部署mongodb教程

 更新時間:2017年08月09日 08:48:38   作者:keenjaan  
這里給大家分享的是作者在阿里云centos下部署mongodb的過程全記錄,非常的詳細,也遇到了很多問題,最終部署成功,希望對大家能夠有所幫助

本教程是在阿里云centos下部署mongodb的過程,整個過程遇到不少坑,浪費了很多時間。在網(wǎng)上查了很多教程,但是由于教程大多太久了,環(huán)境都不一樣了,所以教程絕大部分走不通。為此走過不少坑,所以在此做一下記錄。

環(huán)境:

系統(tǒng):阿里云centos 7.3 64位

mongodb版本: 3.4

因為使用yum安裝非常方便,所以下文使用yum安裝,。

修改yum包管理配置:

vi /etc/yum.repos.d/mongodb-org-3.4.repo   // 會自動新建mongodb-org-3.4.repo文件

復制下面配置信息:

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=0
enabled=1

tips: 不懂linux去惡補下基礎知識(vi 編輯器)

安裝mongodb

yum install -y mongodb-org   // 一路yes安裝mongodb

啟動mongodb

systemctl start mongod.service  // 啟動mongodb

停止mongodb

systemctl stop mongod.service  // 停止mongodb

重啟mongodb

systemctl restart mongod.service  // 重啟mongodb

設置mongodb開機啟動

systemctl enable mongod.service   // 設置開機啟動

tips: centos 7將service命令 改為systemctl。

mongodb安裝成功,默認配置文件路徑為:/etc/mongod.conf。執(zhí)行cat /etc/mongod.conf,查看文件的配置。

配置文件是yaml 語法:

systemLog:
 destination: file
 logAppend: true
 path: /var/log/mongodb/mongod.log // 日志文件儲存路徑

storage:
 dbPath: /var/lib/mongo  // 數(shù)據(jù)儲存路徑
 journal:
 enabled: true

你也可以更改儲存路徑,更改路徑時因先新建相關文件夾和文件,這里不做修改。

本地連接mongodb:

mongo    // 連接本地mongodb
show dbs   // 查看所有數(shù)據(jù)庫
use mydb   // 切換mydb數(shù)據(jù)庫,沒有會自動添加
show collections // 查看集合

默認情況下,mongodb是沒有安全驗證的,都可以連接到該數(shù)據(jù)庫。因為mongodb要求是部署在一個安全的環(huán)境中,而不需要驗證。

遠程連接:

在本地window中,打開cmd,執(zhí)行mongo 192.168.31.54 (192.168.31.54為你的阿里云服務器外網(wǎng)地址),發(fā)現(xiàn)連接不上,網(wǎng)上找了很長時間,終于解決了。

1、在阿里云esc實例中設置安全組,把27017端口開放,mongodb 默認端口為27017,阿里云為了安全端口默認都是關閉的。

2、修改mongodb配置文件:

vi /etc/mongod.conf   // 編輯配置文件

net:
 port: 27017
 bindIp: 127.0.0.1 // mongodb 默認綁定的IP地址

默認情況下,阿里云只綁定了127.0.0.1本地地址,只能本地訪問,需要在上面加上阿里云內網(wǎng)地址。
bindIp: 127.0.0.1,阿里云內網(wǎng)地址

重啟mongodb服務器:
systemctl restart mongod.service

在本地cmd中再執(zhí)行
mongo 阿里云外網(wǎng)地址  // 發(fā)現(xiàn)現(xiàn)在可以連接上了。

到此本地和遠程都可以連接上mongodb了,遠程可以用可視化工具Robomongo連接,直接輸入阿里云外網(wǎng)地址和端口號27017即可以遠程連接成功。雖然遠程可以連接上mongodb,但是只要知道阿里云外網(wǎng)地址,誰都可以通過遠程連接到數(shù)據(jù)庫,并且修改數(shù)據(jù)庫了的數(shù)據(jù),這樣是非常不安全的。所以實際部署中是不建議bindIp里面加上阿里云內網(wǎng)地址的,只能通過本地訪問。遠程連接只是為了能方便用可視化工具Robomongo方便管理數(shù)據(jù)庫。如果要想用Robomongo,又想數(shù)據(jù)庫不能隨便被別人連接上可以嗎?當然可以,只需開啟身份認證。

默認情況下mongodb是關閉身份認證的,開啟身份認證需如下步驟:

1、修改mongodb配置文件

vi /etc/mongod.conf    // 編輯mongod.conf文件

security:      // 去掉security前面#
 authorization: enabled  // 添加這句開啟認證

在網(wǎng)上看了很多教程關于開啟身份認證的,使用auth=true發(fā)現(xiàn)不行,后來才知道是教程太老了,配置字段都變了,坑的我找了很長時間。

2、添加超級管理員

默認Mongodb是沒有管理員等用戶信息的,開啟身份認證是需要添加用戶信息驗證。首先添加的應該是admin數(shù)據(jù)庫里的管理員賬號,他用于其他數(shù)據(jù)庫的用戶添加、修改、刪除等一些權限控制。

執(zhí)行如下操作:

mongo     // 本地連接數(shù)據(jù)庫
use admin    // 切換到admin數(shù)據(jù)庫,沒有會自動添加
db.createUser(   // 創(chuàng)建管理員用戶
 {
 user: "admin",  // 賬號
 pwd: "admin",  // 密碼
 roles: [ { role: "root", db: "admin" } ] // 角色:超級管理員,數(shù)據(jù)庫:admin
 }
)

創(chuàng)建成功后會輸出Successfully added user。。。

重啟mongodb

systemctl restart mongod.service

執(zhí)行

mongo      // 連接數(shù)據(jù)庫
show dbs     // 顯示所有數(shù)據(jù)庫,這步會報錯,說沒有通過驗證。
use admin     // 切換到admin數(shù)據(jù)庫
db.auth('admin','admin') // 用上面設置的賬號密碼登錄

如果返回 '1'表示驗證成功, 如果是 '0' 表示驗證失敗

身份驗證開啟了,在window端cmd中執(zhí)行下面命令
mongo 阿里云外網(wǎng)地址           // 發(fā)現(xiàn)連接失敗,因為沒有通過驗證。
如果執(zhí)行下面這句
mongo 阿里云外網(wǎng)地址 -u "admin" -p "admin" --authenticationDatabase admin 
// 發(fā)現(xiàn)連接成功

Robomongo身份認證連接:

切換到Authorization選項,選中Perform authorization,填上Database, user name, password,就可以連接成功了。

mongodb不像mysql,驗證的用戶對所有數(shù)據(jù)庫都有讀寫的能力,不同的庫需要配置相關的用戶信息才能對該庫進行讀寫。比如有個myblog的數(shù)據(jù)庫,需要對其有讀寫的能力,新建一個具有讀寫能力的用戶。

命令如下:

mongo   // 連接數(shù)據(jù)庫
use admin  // 切換到admin數(shù)據(jù)庫
db.auth('admin','admin')  // auth驗證登錄
use myblog      // 切換到myblog數(shù)據(jù)庫
db.createUser(   // 創(chuàng)建普通用戶
 {
 user: "keen",  // 賬號
 pwd: "123",  // 密碼
 roles: [ { role: "readWrite", db: "myblog" } ] // 角色:讀寫,數(shù)據(jù)庫:myblog
 }
)
db.auth('keen', '123')   // 使用新建用戶keen驗證登錄

到此整個mongodb配置結束了,關于mongodb的身份認證,以及權限控制,可以看看這篇文章,寫的很詳細。

相關文章

  • mongodb 中rs.stauts()命令參數(shù)解析

    mongodb 中rs.stauts()命令參數(shù)解析

    MongoDB的rs.status()命令是查看副本集狀態(tài)的重要工具,它可以展示副本集中各個成員的角色、健康狀態(tài)、同步進度等關鍵信息,本文介紹mongodb 中rs.stauts()命令參數(shù)解析,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • SpringBoot?整合mongoDB并自定義連接池的示例代碼

    SpringBoot?整合mongoDB并自定義連接池的示例代碼

    這篇文章主要介紹了SpringBoot?整合mongoDB并自定義連接池?,整合mongoDB的目的就是想用它給我們提供的mongoTemplate,它可以很容易的操作mongoDB數(shù)據(jù)庫,對整合過程及實例代碼感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • MongoDB創(chuàng)建一個索引而性能提升1000倍示例代碼

    MongoDB創(chuàng)建一個索引而性能提升1000倍示例代碼

    這篇文章主要給大家介紹了關于如何在MongoDB中創(chuàng)建一個索引而性能提升1000倍的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-01-01
  • MongoDB集合中的文檔管理

    MongoDB集合中的文檔管理

    這篇文章介紹了MongoDB集合中文檔的管理方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 使用MongoDB操作文檔

    使用MongoDB操作文檔

    本文詳細講解了使用MongoDB操作文檔的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • MongoDB的安裝啟動及做成windows服務的教程圖解

    MongoDB的安裝啟動及做成windows服務的教程圖解

    這篇文章主要介紹了MongoDB的安裝啟動及做成windows服務的教程圖解,非常不錯,具有一定的參考借鑒價值,感興趣的朋友跟隨腳本之家小編一起學習吧
    2018-05-05
  • mongodb 修改用戶密碼 2種方法

    mongodb 修改用戶密碼 2種方法

    mongodb的用戶信息是存放在system.users表中的,修改密碼不能直接更新表數(shù)據(jù),這樣的話,存到表里的密碼是明文的,這就不對了。
    2014-07-07
  • CentOS8?安裝MongoDB?本地連接的操作方法

    CentOS8?安裝MongoDB?本地連接的操作方法

    MongoDB 是一個由 C++ 語言編寫的基于分布式文件存儲的數(shù)據(jù)庫,MongoDB 是一個介于關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫之間的產(chǎn)品,是非關系數(shù)據(jù)庫當中功能最豐富,最像關系數(shù)據(jù)庫的,這篇文章主要介紹了CentOS8?安裝MongoDB?本地連接,需要的朋友可以參考下
    2022-11-11
  • Mongodb基本操作與Python連接mongodb并進行基礎操作的方法

    Mongodb基本操作與Python連接mongodb并進行基礎操作的方法

    mongodb是基于分布式文件存儲的nosql(非關系型)數(shù)據(jù)庫,本文分享了mongodb的基礎操作和Python連接并操作mongodb的基礎方法,基礎的不能再基礎了
    2018-09-09
  • mongodb如何對文檔內數(shù)組進行過濾的方法步驟

    mongodb如何對文檔內數(shù)組進行過濾的方法步驟

    這篇文章主要介紹了mongodb如何對文檔內數(shù)組進行過濾的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10

最新評論