修复 Mac brew 安装 mongodb 报 Error: No available formula with the name ‘mongodb’ 问题详解

作者:herman 时间:2024-01-18 17:10:50 

根据 homebrew-brew 官方的解释得知,MongoDB 不再是开源的了,并且已经从 Homebrew中移除 #43770

正是由于 MongoDB 的商业化不太理想,所以它选择了闭源。所以,在它闭源之前的那些 brew 安装方法都会报错了。网上很多的文章都是基于以前古老的安装方式,这种方式导致 brew 无法安装,报错。


Error: No available formula with the name ‘mongodb'

新的安装方式可以参考 github 主页,https://github.com/mongodb/homebrew-brew。

新的安装方式告诉我们,需要先执行:


brew tap mongodb/brew

接着在执行:


brew install mongodb-community

这是安装的社区版的。如果需要安装指定版本的,可以带上 @版本号。


brew install mongodb-community@4.2

brew install mongodb-community@4.0

brew install mongodb-community@3.6

如果仅想安装最新的 mongoshell,则可以执行下面的命令。


brew install mongodb-community-shell

如果出现 Download failed 或 DownloadError: Failed to download resource “mongodb-community” 错误,则重复执行安装命令,进行下载。这属于你的网络问题,多尝试几次。

安装后的默认配置文件路径如下:


#配置文件:/usr/local/etc/mongod.conf

#日志目录路径:/usr/local/var/log/mongodb

#数据目录路径:/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 裸奔,这些年出了不少泄露数据的事故,我们得配置一下安全认证。

首先,我们启动 mongo 成功后,执行下面的命令:


#链接 mongo
mongo

#切换db,或创建 xttblog
use xttblog

#创建用户admin
db.createUser({
user:'admin',
pwd:'admin',
roles:[{role:'readWrite',db:'xttblog'}]
})

如果创建成功,则提示:Successfully added user。


Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "readWrite",
"db" : "xttblog"
}
]
}

角色设置需要注意,userAdminAnyDatabase 之类的默认没有了,可以通过 show roles 命令查看角色。


#查看角色
show roles

#查看用户
show users

如果要修改用户角色,则可以执行 db.updateUser 命令。


db.updateUser(
"admin",
{
roles:[
{role:"readWrite",db:"xttblog"},
{role:"userAdmin",db:"xttblog"},
{role:"dbAdmin",db:"xttblog"}
]
}
)

操作完成后,我们就可以修改 mongo 的配置文件了,开启认证。


vi /usr/local/etc/mongod.conf

在文件最后加入:“#开启权限校验”之后的配置。


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
# 开启权限校验
security:
authorization: enabled

重启服务。再次操作 mongo 就需要进行认证了。


mongo
use xttblog
db.auth("xttblog","xttblog")

同样的 SpringBoot 整合 Mongo 的 url 就得配置上密码认证了。


mongodb://admin:admin@localhost:27017/xttblog

至此MongoDB安装完成,更多关于安装 mongodb 报错的问题请查看下面的相关链接

来源:https://www.xttblog.com/?p=4609

标签:mongodb,错误
0
投稿

猜你喜欢

  • 基于numpy实现逻辑回归

    2023-06-21 10:04:25
  • 详解微信小程序文件下载--视频和图片

    2023-08-10 16:38:50
  • 解决python给列表里添加字典时被最后一个覆盖的问题

    2022-08-24 17:18:42
  • SQL Server 2005 安装遇到的错误提示和解决方法

    2024-01-20 13:19:15
  • 关于Python Socket编程的要点详解

    2021-11-25 17:44:11
  • Python的Flask站点中集成xhEditor文本编辑器的教程

    2023-04-05 00:41:06
  • 从p开始,循序渐进学习WEB标准

    2008-03-08 18:53:00
  • 设定php简写功能的方法

    2024-05-13 09:25:21
  • c#几种数据库的大数据批量插入(SqlServer、Oracle、SQLite和MySql)

    2024-01-13 08:12:32
  • Python Sql数据库增删改查操作简单封装

    2024-01-22 14:47:37
  • 减少用户的思考

    2010-09-07 12:14:00
  • 使用python的pandas为你的股票绘制趋势图

    2023-12-29 19:48:46
  • MySQL的中文UTF8乱码问题

    2024-01-15 01:00:38
  • JS上传图片前实现图片预览效果的方法

    2024-04-30 10:10:12
  • 基于Django用户认证系统详解

    2023-04-13 15:35:13
  • Python中有趣在__call__函数

    2022-04-04 14:06:22
  • Python 读取 .gz 文件全过程

    2021-11-02 16:01:04
  • 如何恢复MySQL主从数据一致性

    2024-01-26 23:34:33
  • mysql 查询当天、本周,本月,上一个月的数据

    2024-01-27 02:10:53
  • 用python画个敬业福字代码

    2022-04-04 18:36:59
  • asp之家 网络编程 m.aspxhome.com