修复 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


猜你喜欢
- 先来看看js中的Null类型表示什么?null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象,一般一个未定义的变量在初次使用
- 1.检查重复元素下面的方法可以检查给定列表中是否有重复的元素。它使用了 set() 属性,该属性将会从列表中删除重复的元素。def all_
- 本文研究的主要是Python使用pickle模块存储数据报错解决方法,以代码的形式展示,具体如下。首先来了解下pickle模块pickle提
- 性能监控一、web项目(如gin中)1.使用ginpprofimport "github.com/DeanThompson/gin
- 代码的作用在于保证在上端缓存服务失效(一般来说概率比较低)时,形成倒瓶颈,从而能够保护数据库,数据库宕了,才是大问题(比如影响其他应用)。假
- 博主在开发一些C端小软件时,喜欢用json作为序列化方案,故总结下python中json库常见用法。导包自带的库,无需额外安装。import
- 一直希望自己对Web设计的色彩把握的更好些,所以手头上就备了一份图片版的配色表,对色彩的搭配有了很多的提高,今天发现了这套非常完整的Web版
- 1、概述在前面的文章中,我有分享了vue+drf+第三方滑动验证码接入的实现 (文中也留了分享图片验证码功能的实现),即本文将要分享的是基于
- 前言在早期学Python的时候,买了一本《Python编程快速上手-让繁琐工作自动化》。这本书里面讲得都比较基础,不过却非常的实用。估计从书
- DOM DiffVue创建视图分为俩种情况:首次渲染,会用组件template转换成的真实DOM来替换应用中的根元素当数据更新后,视图重新渲
- 情况一:坐标上的内容是文字时如上图这样一个横向的柱状图,y坐标轴的内容太长后会导致显示不全。因为数据是由后端传过来的,有些会很长有些会比较短
- 一、概念1、模块化代码可以使代码易于维护和调试,并且提高代码的重用性;2、函数可以用来减少冗余的代码并提高代码的可重用性。函数也可以用来模块
- 1.什么是守护进程守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会
- Composer的基本使用在项目中使用composer.json在项目中使用composer,你需要有一个composer.json文件,此
- 我们有时候需要把一些 * 发给多个客户,为了避免客户泄露文件,会在 * 中添加水印。每个客户收到的文件内容相同,但是水印都不相同。这样一
- 表结构如下:id varchar(32) info json数据:id = 1info = {&qu
- python部分#!/usr/bin/env Python# coding=utf-8from ctypes import *from Py
- 开门见山,直接使用 skimage 库为图像添加高斯噪声是很简单的:import skimageorigin = skimage.io.im
- python 连接数据库操作, 方法如下:在本机的mysql 数据库中有一个名为yao的库,其中有一个名为user的表,表中的内容如图下面,
- DataSource是作为DriverManager的替代品而推出的,DataSource 对象是获取连接的首选方法。起源为何放弃Drive