服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - MongoDB - 修复 Mac brew 安装 mongodb 报 Error: No available formula with the name ‘mongodb’ 问题详解

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

2020-05-26 16:15herman MongoDB

最近在同事新的 Mac 电脑上安装 mongodb,报了错误 Error: No available formula with the name ‘mongodb’,今天就说说这个问题如何解决,需要的朋友可以参考下

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

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

?
1
Error: No available formula with the name ‘mongodb'

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

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

?
1
brew tap mongodb/brew

接着在执行:

?
1
brew install mongodb-community

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

?
1
2
3
4
5
brew install mongodb-community@4.2
 
brew install mongodb-community@4.0
 
brew install mongodb-community@3.6

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

?
1
brew install mongodb-community-shell

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

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

?
1
2
3
4
5
#配置文件:/usr/local/etc/mongod.conf
 
#日志目录路径:/usr/local/var/log/mongodb
 
#数据目录路径:/usr/local/var/mongodb

有了 brew 后,启动 Mongo 和停止 Mongo 就很方便了。

?
1
2
3
4
5
6
7
8
9
10
11
#启动
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 成功后,执行下面的命令:

?
1
2
3
4
5
6
7
8
9
10
11
12
#链接 mongo
mongo
 
#切换db,或创建 xttblog
use xttblog
 
#创建用户admin
db.createUser({
    user:'admin',
    pwd:'admin',
    roles:[{role:'readWrite',db:'xttblog'}]
})

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

?
1
2
3
4
5
6
7
8
9
Successfully added user: {
    "user" : "admin",
    "roles" : [
        {
            "role" : "readWrite",
            "db" : "xttblog"
        }
    ]
}

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

?
1
2
3
4
5
#查看角色
show roles
 
#查看用户
show users

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

?
1
2
3
4
5
6
7
8
9
10
db.updateUser(
    "admin",
    {
        roles:[
            {role:"readWrite",db:"xttblog"},
            {role:"userAdmin",db:"xttblog"},
            {role:"dbAdmin",db:"xttblog"}
        ]
    }
)

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

?
1
vi /usr/local/etc/mongod.conf

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

?
1
2
3
4
5
6
7
8
9
10
11
12
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 就需要进行认证了。

?
1
2
3
mongo
use xttblog
db.auth("xttblog","xttblog")

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

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

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

原文链接:https://www.xttblog.com/?p=4609

延伸 · 阅读

精彩推荐
  • MongoDBMongoDB 内存使用情况分析

    MongoDB 内存使用情况分析

    都说 MongoDB 是个内存大户,但是怎么知道它到底用了多少内存呢...

    MongoDB教程网10002020-09-29
  • MongoDBMongodb实现定时备份与恢复的方法教程

    Mongodb实现定时备份与恢复的方法教程

    这篇文章主要给大家介绍了Mongodb实现定时备份与恢复的方法教程,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面...

    chenjsh364522020-05-13
  • MongoDBMongoDB凭什么跻身数据库排行前五

    MongoDB凭什么跻身数据库排行前五

    MongoDB以比去年同期超出65.96分的成绩继续雄踞榜单前五,这个增幅在全榜仅次于PostgreSQL的77.99,而其相对于4月份的6.10分的增长也是仅次于微软SQL Server排名...

    孙浩峰3892020-05-22
  • MongoDB迁移sqlserver数据到MongoDb的方法

    迁移sqlserver数据到MongoDb的方法

    这篇文章主要介绍了迁移sqlserver数据到MongoDb的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...

    听枫xl9682021-01-03
  • MongoDB分布式文档存储数据库之MongoDB分片集群的问题

    分布式文档存储数据库之MongoDB分片集群的问题

    这篇文章主要介绍了分布式文档存储数据库之MongoDB分片集群的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...

    Linux-18743072020-12-20
  • MongoDBMongoDB安装图文教程

    MongoDB安装图文教程

    这篇文章主要为大家详细介绍了MongoDB安装图文教程,分为两大部分为大家介绍下载MongoDB和安装MongoDB的方法,感兴趣的小伙伴们可以参考一下 ...

    Yangyi.He6132020-05-07
  • MongoDBMongoDB中javascript脚本编程简介和入门实例

    MongoDB中javascript脚本编程简介和入门实例

    作为一个数据库,MongoDB有一个很大的优势——它使用js管理数据库,所以也能够使用js脚本进行复杂的管理——这种方法非常灵活 ...

    MongoDB教程网6982020-04-24
  • MongoDBmongodb基本命令实例小结

    mongodb基本命令实例小结

    这篇文章主要介绍了mongodb基本命令,结合实例形式总结分析了MongoDB数据库切换、查看、删除、查询等基本命令用法与操作注意事项,需要的朋友可以参考下...

    dawn-liu3652020-05-26