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

 更新时间:2020年02月07日 09:01:15   转载 作者:herman  
最近在同事新的 Mac 电脑上安装 mongodb,报了错误 Error: No available formula with the name ‘mongodb’,今天就说说这个问题如何解决,需要的朋友可以参考下

根据 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 报错的问题请查看下面的相关链接

相关文章

  • MongoDB 常用命令总结

    MongoDB 常用命令总结

    Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。Mongo还可以解决海量数据的查询效率,当数据量达到50GB以上时,Mongo数据库访问速度是MySQL10 倍以上
    2015-05-05
  • 浅析MongoDB用户管理

    浅析MongoDB用户管理

    mongodb在2.4最新版本中对用户权限管理做了全新的调整,把权限细化了,增强了安全性,越来越像mysql的权限管理了。废话少说,我们来详细看下吧
    2014-08-08
  • MongoDB教程之聚合(count、distinct和group)

    MongoDB教程之聚合(count、distinct和group)

    这篇文章主要介绍了MongoDB教程之聚合,MongoDB除了基本的查询功能之外,还提供了强大的聚合功能,这里主要介绍count、distinct和group,需要的朋友可以参考下
    2015-05-05
  • MongoDB批量将时间戳转为通用日期格式示例代码

    MongoDB批量将时间戳转为通用日期格式示例代码

    这篇文章主要给大家介绍了关于MongoDB批量将时间戳转为通用日期格式的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MongoDB具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • MongoDB快速入门笔记(四)之MongoDB查询文档操作实例代码

    MongoDB快速入门笔记(四)之MongoDB查询文档操作实例代码

    MongoDB 是一个基于分布式文件存储的数据库。接下来通过本文给大家介绍MongoDB快速入门笔记(四)之MongoDB查询文档操作实例代码,感兴趣的朋友一起学习吧
    2016-06-06
  • express使用Mongoose连接MongoDB操作示例【附源码下载】

    express使用Mongoose连接MongoDB操作示例【附源码下载】

    这篇文章主要介绍了express使用Mongoose连接MongoDB操作,结合实例形式分析了express使用Mongoose连接MongoDB的具体步骤与相关实现技巧,并附带源码供读者下载参考,需要的朋友可以参考下
    2019-07-07
  • MongoDB的聚合框架Aggregation Framework入门学习教程

    MongoDB的聚合框架Aggregation Framework入门学习教程

    MongoDB中的聚合aggregate主要用于处理数据计算,这里我们就来详细整理MongoDB的聚合框架Aggregation Framework入门学习教程,需要的朋友可以参考下
    2016-07-07
  • Ubuntu 14.04  安装 MongoDB 及 PHP MongoDB Driver详细介绍

    Ubuntu 14.04 安装 MongoDB 及 PHP MongoDB Driver详细介绍

    这篇文章主要介绍了Ubuntu 14.04 安装 MongoDB 及 PHP MongoDB Driver详细介绍的相关资料,需要的朋友可以参考下
    2016-10-10
  • window平台安装MongoDB数据库图文详解

    window平台安装MongoDB数据库图文详解

    本篇文章主要介绍了window平台安装MongoDB数据库图文详解,主要介绍window下面安装mogod的步骤和使用细节。感兴趣的小伙伴们可以参考一下。
    2016-11-11
  • mongodb 实现远程连接

    mongodb 实现远程连接

    这篇文章主要介绍了mongodb 实现远程连接,需要的朋友可以参考下
    2014-07-07

最新评论