a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數(shù)據(jù)庫 > MongoDB > 正文

在阿里云centos下部署mongodb教程

2020-03-14 12:53:36
字體:
供稿:網(wǎng)友

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

環(huán)境:

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

mongodb版本: 3.4

因?yàn)槭褂脃um安裝非常方便,所以下文使用yum安裝,。

修改yum包管理配置:

vi /etc/yum.repos.d/mongodb-org-3.4.repo   // 會(huì)自動(dòng)新建mongodb-org-3.4.repo文件

復(fù)制下面配置信息:

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

tips: 不懂linux去惡補(bǔ)下基礎(chǔ)知識(shí)(vi 編輯器)

安裝mongodb

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

啟動(dòng)mongodb

systemctl start mongod.service  // 啟動(dòng)mongodb

停止mongodb

systemctl stop mongod.service  // 停止mongodb

重啟mongodb

systemctl restart mongod.service  // 重啟mongodb

設(shè)置mongodb開機(jī)啟動(dòng)

systemctl enable mongod.service   // 設(shè)置開機(jī)啟動(dòng)

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

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

配置文件是yaml 語法:

systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log // 日志文件儲(chǔ)存路徑storage: dbPath: /var/lib/mongo  // 數(shù)據(jù)儲(chǔ)存路徑 journal: enabled: true

你也可以更改儲(chǔ)存路徑,更改路徑時(shí)因先新建相關(guān)文件夾和文件,這里不做修改。

本地連接mongodb:

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

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

遠(yuǎn)程連接:

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

1、在阿里云esc實(shí)例中設(shè)置安全組,把27017端口開放,mongodb 默認(rèn)端口為27017,阿里云為了安全端口默認(rèn)都是關(guān)閉的。

2、修改mongodb配置文件:

vi /etc/mongod.conf   // 編輯配置文件net: port: 27017 bindIp: 127.0.0.1 // mongodb 默認(rèn)綁定的IP地址

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

重啟mongodb服務(wù)器:
systemctl restart mongod.service

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

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

默認(rèn)情況下mongodb是關(guān)閉身份認(rèn)證的,開啟身份認(rèn)證需如下步驟:

1、修改mongodb配置文件

vi /etc/mongod.conf    // 編輯mongod.conf文件security:      // 去掉security前面# authorization: enabled  // 添加這句開啟認(rèn)證

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

2、添加超級(jí)管理員

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

執(zhí)行如下操作:

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

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

重啟mongodb

systemctl restart mongod.service

執(zhí)行

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

如果返回 '1'表示驗(yàn)證成功, 如果是 '0' 表示驗(yàn)證失敗

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

Robomongo身份認(rèn)證連接:

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

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

命令如下:

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

到此整個(gè)mongodb配置結(jié)束了,關(guān)于mongodb的身份認(rèn)證,以及權(quán)限控制,可以看看這篇文章,寫的很詳細(xì)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到MongoDB頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品片aa在线观看 | 国产www精品| 国产精品一区亚洲二区日本三区 | 91精品久久久久久久久中文字幕 | 免费观看一级特黄欧美大片 | 久久久久久久久免费视频 | 久久国产精品大桥未久av | 日本三级网 | 成人精品视频在线观看 | 青青草精品 | 日韩精品免费在线视频 | 91资源在线| 黄av在线| 久久99深爱久久99精品 | 国产无套在线 | 天天射欧美 | 91精品国产高清一区二区三区 | 在线日韩视频 | 成人免费福利 | 国产小视频在线观看 | 91免费看| 国产精品嫩草99av在线 | 超碰在线播 | 日韩精品 | 日本久久www成人免 亚洲成人av | 福利视频一区 | 国产一区二区 | 国产欧美一区二区精品性色 | 亚洲一区二区中文字幕 | 日韩影院一区 | 成人国产免费视频 | 久久综合一区二区三区 | 综合久久网 | 亚洲自拍一区在线观看 | 精品第一页 | 成人免费视频国产免费麻豆 | 国产精品久久久久久久久久三级 | 超碰最新网址 | 亚洲精品久久久蜜桃 | 久久国产精品久久精品 | 日本国产在线 |