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
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgachba
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01