好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

修复 Mac brew 安装 mongodb 报 Error: No available formu

根据 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

查看更多关于修复 Mac brew 安装 mongodb 报 Error: No available formu的详细内容...

  阅读:22次