• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
qq_25543087
帮助1

一、环境:

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgachba
系列文章
更多 icon
同类精品
更多 icon
继续加载