根據(jù) homebrew-brew 官方的解釋得知,MongoDB 不再是開源的了,并且已經(jīng)從 Homebrew中移除 #43770
正是由于 MongoDB 的商業(yè)化不太理想,所以它選擇了閉源。所以,在它閉源之前的那些 brew 安裝方法都會報錯了。網(wǎng)上很多的文章都是基于以前古老的安裝方式,這種方式導(dǎo)致 brew 無法安裝,報錯。
Error: No available formula with the name ‘mongodb'
新的安裝方式可以參考 github 主頁,https://github.com/mongodb/homebrew-brew。
新的安裝方式告訴我們,需要先執(zhí)行:
接著在執(zhí)行:
brew install mongodb-community
這是安裝的社區(qū)版的。如果需要安裝指定版本的,可以帶上 @版本號。
brew install mongodb-community@4.2
brew install mongodb-community@4.0
brew install mongodb-community@3.6
如果僅想安裝最新的 mongoshell,則可以執(zhí)行下面的命令。
brew install mongodb-community-shell
如果出現(xiàn) Download failed 或 DownloadError: Failed to download resource “mongodb-community” 錯誤,則重復(fù)執(zhí)行安裝命令,進(jìn)行下載。這屬于你的網(wǎng)絡(luò)問題,多嘗試幾次。
安裝后的默認(rèn)配置文件路徑如下:
#配置文件:/usr/local/etc/mongod.conf
#日志目錄路徑:/usr/local/var/log/mongodb
#數(shù)據(jù)目錄路徑:/usr/local/var/mongodb
有了 brew 后,啟動 Mongo 和停止 Mongo 就很方便了。
#啟動
brew services start mongodb-community
#或
brew services start mongodb/brew/mongodb-community
#停止
brew services stop mongodb-community
#或
brew services stop mongodb/brew/mongodb-community
安裝好了之后,我們需要做一些配置,不能讓 mongo 裸奔,這些年出了不少泄露數(shù)據(jù)的事故,我們得配置一下安全認(rèn)證。
首先,我們啟動 mongo 成功后,執(zhí)行下面的命令:
#鏈接 mongo
mongo
#切換db,或創(chuàng)建 xttblog
use xttblog
#創(chuàng)建用戶admin
db.createUser({
user:'admin',
pwd:'admin',
roles:[{role:'readWrite',db:'xttblog'}]
})
如果創(chuàng)建成功,則提示:Successfully added user。
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "readWrite",
"db" : "xttblog"
}
]
}
角色設(shè)置需要注意,userAdminAnyDatabase 之類的默認(rèn)沒有了,可以通過 show roles 命令查看角色。
#查看角色
show roles
#查看用戶
show users
如果要修改用戶角色,則可以執(zhí)行 db.updateUser 命令。
db.updateUser(
"admin",
{
roles:[
{role:"readWrite",db:"xttblog"},
{role:"userAdmin",db:"xttblog"},
{role:"dbAdmin",db:"xttblog"}
]
}
)
操作完成后,我們就可以修改 mongo 的配置文件了,開啟認(rèn)證。
vi /usr/local/etc/mongod.conf
在文件最后加入:“#開啟權(quán)限校驗”之后的配置。
systemLog:
destination: file
path: /usr/local/var/log/mongodb/mongo.log
logAppend: true
storage:
dbPath: /usr/local/var/mongodb
net:
bindIp: 127.0.0.1
port: 27017
# 開啟權(quán)限校驗
security:
authorization: enabled
重啟服務(wù)。再次操作 mongo 就需要進(jìn)行認(rèn)證了。
mongo
use xttblog
db.auth("xttblog","xttblog")
同樣的 SpringBoot 整合 Mongo 的 url 就得配置上密碼認(rèn)證了。
mongodb://admin:admin@localhost:27017/xttblog
至此MongoDB安裝完成,更多關(guān)于安裝 mongodb 報錯的問題請查看下面的相關(guān)鏈接
您可能感興趣的文章:- golang 打印error的堆棧信息操作
- 基于golang如何實現(xiàn)error工具包詳解
- Django錯誤:TypeError at / ''bool'' object is not callable解決
- 解決啟動MongoDB錯誤:error while loading shared libraries: libstdc++.so.6:cannot open shared object file:
- django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)問題的解決
- GO語言標(biāo)準(zhǔn)錯誤處理機(jī)制error用法實例
- 淺析golang開發(fā)Error的使用詳解