前言
安装mongodb的一点感悟,特此记录。适用于第一次在mac上安装mongodb的同学。
希望本文能加深你对环境变量的理解,对bash和zsh这两种终端的理解。
个人情况:mac m1芯片,默认终端为zsh
安装&&配置
安装视频
https://www.bilibili.com/video/BV1wr4y1e7rw/?spm_id_from=333.337.search-card.all.click&vd_source=7c0820455edb5c574adeebdc87a5958c
学习文档
https://www.runoob.com/mongodb/mongodb-create-collection.html
忠告:
1.下载老版本@4 因为版本6最新版,bin目录下没有mongo这个连接数据库的文件,需要从以前版本的bin目录下复制过来。(官网也有其他方法)
2.mac下 最好放在/usr/local/ 路径下,将安装包重命名为mongodb
3.终端为zsh的需要在zsh的配置文件里添加环境变量,环境变量指向bin目录
4.如何进入/usr/local:打开finder,按住shift+com+G,输入/usr/local
5.注意辨别:数据库叫mongodb,查看版本、启动服务用的是mongod,连接数据库用的是mongo
-
下载 x4版本的mongodb,解压缩,重命名为mongodb,并放入/usr/local目录下
-
在mongodb目录下新建 data、log文件夹,会被mongodb默认用来放数据和日志
-
在终端中为用户提供data、log文件夹的读写权限
//xxy为你的用户名 路径根据你上面存放位置修改 sudo chown xxy /usr/local/mongodb/data sudo chown 你的用户名 /usr/local/mongodb/log -
配置环境变量
分情况配置,如果终端是zsh,则在.zshrc中添加
- 打开配置文件 >>>open .zshrc
- 在最底部添加命令>>>export PATH="/usr/local/mongodb/bin:$PATH"
- 终端输入命令让配置生效>>>source .zshrc
如果终端是bash,则在bash_profile中添加同样的代码
- open .bash_profile
- 在最底部添加命令>>>export PATH="/usr/local/mongodb/bin:$PATH"
- 终端输入命令让配置生效>>>source .bash_profile
-
验证Mongodb是否安装成功
环境变量配置完毕,就可以在终端输入相关命令,终端就会去bin目录下执行相应文件。 1.查看mongodb版本,如果显示版本就代表安装成功 >>>mongod --version -
启动Mongodb服务
//根据你的mongodb的路径来编写指令 >>>mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/log/mongo.log --fork 参数说明: --dbpath 用来设置数据的存放目录; --logpath 用来设置日志的存放目录; --fork 用来设置在后台运行。 成功后会显示下述信息: about to fork child process, waiting until server is ready for connections. forked process: 9906 child process started successfully, parent exiting 且打开网址http://localhost:27017/显示 It looks like you are trying to access MongoDB over HTTP on the native driver port. 失败情况: 已存在一个进程 xxxxxx 。未解决。重新下载mongodb。或者删掉data文件夹里的lock文件。可能没有 -
连接数据库
在终端输入命令>>>mongo,连接数据库,如果没有报错,且命令行变为尖角号>,则连接上数据库
连接数据库有一个巨坑:如果你安装的版本为@6,你所有配置都是对的,在终端执行mongo链接数据库时,会报错,不存在命令mongo。这并不是因为你的环境变量配置错误,而是@6版本的bin目录下,本来就没有mongo这个文件。解决办法:1.下载之前版本的mongodb,将其bin目录下的mongo文件复制过来。再重启。2.下旧版本的mongodb。
-
退出服务
切记要按步骤退出,不能直接关闭终端,不然再次启动mongodb服务时(第六步)会报错。
- 切换用户 >>>use admin
- 退出命令 >>>db.shutdownServer({force:true})
- 退出>>>ctrl + c
异常关闭后,如果真的报错,那就删掉data文件夹下的lock文件,再重启,试试