Mac上用conda安装、运行mongodb踩坑

一、环境:

MacPro电脑;已经安装了Anaconda3,所以可以使用conda命令;首次安装mongodb;本文档发布于2022.3.19日;因为网上没有搜到用conda安装mongodb的相关文档,所以原创该文档,错漏之处,欢迎批评指正。有更好的改进,也欢迎提供,感激不尽!

二、步骤:

1. 用conda命令安装mongodb,这个命令比较简单,安装不会有什么错误。

为什么要用conda安装而不用brew呢,因为我的mac上的python相关的环境,主要用Anaconda在管理,我想充分利用Anaconda的python环境及第三方python库的管理能力。

conda install mongodb

安装完成后的界面如下:

安装完成后,在 /Users/henry/opt/anaconda3/bin目录下有3个相关的文件,如下图。henry是我的mac用户名。

2. 创建mangodb运行时需要的数据库文件目录

        一般情况下 /opt/anaconda3/bin是只读目录,无法创建 /data/mongodb/ 这样的目录,其实在其它任何文件目录创建一个数据库文件目录都行。特别说明:data、mongodb这样的目录名都是自定义的,不需要强制定义为“/data/db”(其它指南一般用这个,感觉命名区分度不强)。

        我创建的目录在:/users/henry/data/mongodb

3. 用以下命令运行mongodb,即启动mongodb服务器

        需要在在 /Users/henry/opt/anaconda3/bin目录执行以下mongod命令,因为conda将mongodb的执行文件都安装在这个目录,参考以上步骤1 。

        mongod --dbpath  '/users/henry/data/mongodb'   

运行成功的提示如下。     

成功运行后,在/data/mongodb/目录下,由mongodb自动生成了下图的这些文件及目录。

4. 在浏览器访问mongodb服务器

        mongodb服务器启动后,访问 ​​​​​​​​​​​​​​http://localhost:27017

        网页显示:

                It looks like you are trying to access MongoDB over HTTP on the native driver port.

        Mac terminal 上显示:

                2022-03-19T17:17:13.536+0800 I NETWORK  [listener] connection accepted from 127.0.0.1:51875 #4 (1 connection now open)

5. 用mongo客户端访问mongodb服务器

        在 /Users/henry/opt/anaconda3/bin目录执行mongo命令(注意命令后没有d),出现一个向右的箭头提示符,如下。即可输入mongodb命令了,如下是 show dbs命令。

        > show dbs

                admin   0.000GB

                config  0.000GB

                local   0.000GB

三、坑在哪里呢?

如果在mangod可执行文件同级的目录没有 “/data/db/”目录,或者在以上第3步的命令中没有--dbpath参数,则会报如下错误(Data directory /data/db not found.即错误原因)。即直接执行mongod命令会报如下错误。

2022-03-19T11:40:01.875+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'

2022-03-19T11:40:01.884+0800 I CONTROL  [initandlisten] MongoDB starting : pid=57312 port=27017 dbpath=/data/db 64-bit host=henrys-MacBook-Pro.local

2022-03-19T11:40:01.884+0800 I CONTROL  [initandlisten] db version v4.0.3

2022-03-19T11:40:01.884+0800 I CONTROL  [initandlisten] git version: 7ea530946fa7880364d88c8d8b6026bbc9ffa48c

2022-03-19T11:40:01.884+0800 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.1.1h  22 Sep 2020

2022-03-19T11:40:01.884+0800 I CONTROL  [initandlisten] allocator: system

2022-03-19T11:40:01.884+0800 I CONTROL  [initandlisten] modules: none

2022-03-19T11:40:01.884+0800 I CONTROL  [initandlisten] build environment:

2022-03-19T11:40:01.884+0800 I CONTROL  [initandlisten]     distarch: x86_64

2022-03-19T11:40:01.884+0800 I CONTROL  [initandlisten]     target_arch: x86_64

2022-03-19T11:40:01.884+0800 I CONTROL  [initandlisten] options: {}

2022-03-19T11:40:01.885+0800 I STORAGE  [initandlisten] exception in initAndListen: NonExistentPath: Data directory /data/db not found., terminating

2022-03-19T11:40:01.885+0800 I NETWORK  [initandlisten] shutdown: going to close listening sockets...

2022-03-19T11:40:01.885+0800 I NETWORK  [initandlisten] removing socket file: /tmp/mongodb-27017.sock

2022-03-19T11:40:01.885+0800 I CONTROL  [initandlisten] now exiting

2022-03-19T11:40:01.885+0800 I CONTROL  [initandlisten] shutting down with code:100

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值