Mac 安装mongodb 心酸历程,想哭,-_-|| 写这篇博客,希望看到我博客的小伙伴少走些弯路
第一步:下载mongodb
下载mongodb的方式有很多种:
1.通过homebrew下载:sudo brew install mongodb (优点:不需要自己手动配置mongodb运行环境)
2.通过curl下载:sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.4.2.tgz(强烈不推荐,下载速度慢到怀疑人生)
3.官网下载:https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.4.2.tgz(推荐使用迅雷下载,更快)
第二步:安装mongodb,步骤都是差不多:(注意两点)
1.安装路径:Mac电脑安装在当前用户路径/User/$user/即可
2.配置运行环境(通过homebrew安装不需要此步骤) ( tip: 此步骤以免我们每次都要在安装目录的bin目录下面输入sudo monogd,变成只需要运行monogd即可 )
(1)open -e .bash_profile
(2) 定义MONGODB_HOME变量,这个值就是你刚才解压文件夹的存放地址,然后在PATH中加入"$MONGODB_HOME/bin:"
(3) 用Command+S保存配置,关闭上面的.bash_profile编辑窗口,然后在下图中输入"source .bash_profile"使配置生效。
(4)输入"mongod -version",回车后如果看到下面的版本号则说明Mongodb已经成功安装到了你的Mac上。
如果你认为这就结束了,那你就太 ———— 天 ———— 真 ————了(此处省略N个字)
第三步:启动mongodb
1.首先我们创建一个数据库存储目录 /data/db:sudo mkdir -p /data/db
2.进入Mongodb安装目录,创建data和log目录
3.执行“mongod”命令(不带任何参数的启动,使用默认配置运行mongodb):
(Tip:MongoDB常用命令:mogond --dbpath $dbpath(数据库数据文件路径)--logpath $logpath(日志文件的路径)--logappend(以追加的方式打开文件)--fork(将数据库服务放在后台运行)
我可以选择脚本启动,或者配置文件启动
1.脚本启动:mongod --dbpath data --logpath log/mongod.log --logappend --fork
2.配置文件启动:(配置文件的路径自定义就行,一般放在/usr/local/etc/ 路径下,我这里就直接放在了mongodb安装目录下了:mongod --config /usr/local/etc/mongod.conf)
4.执行"mongo"命令,当看到下面的MongoDB shell version v4.0.8,会显示一大堆东西,直到出现大括号,则说明MongoDB已经成功启动(tip:必须先执行mongod命令,mongo命令才能执行成功)
安装过程遇到的问题和解决方法:
1.exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/db, terminating
参考地址:https://www.jianshu.com/p/b2e92cbab553
2.其他问题基本都是由此引起的比如:/data/db/ 下面有.lock文件,有些博客说要删除的,其实是没用的
请继续参考地址:https://www.jianshu.com/p/b2e92cbab553
mongoDB关闭
1.关闭第一个终端:control + C
2.第二个终端输入:
use admin
db.shutdownServer({force : true})
个人建议:本人都是先在第二终端输入exit,第一个终端一直开着;
有兴趣的小伙伴,也可以尝试设置开机时自动启动mongodb服务。参考地址:https://www.jianshu.com/p/e73978416920
启动报错或无法启动
查看mongdoDB进程,关闭进程
$ ps -ef | grep mongo
$ sudo kill xxxxx
再次启动,如果还不行
删除data/db下的mongod.lock
再次启动基本搞定
mongoDB修复
mongoDb也会因为一些错误而无法启动,这时就要对其进行修复:mongod --repair
如果你觉得以上步骤对你来说特简单的话,可以优化一下mongodb访问的安全性:
详情请参考地址:https://www.jianshu.com/p/b3ba62638cd1
转载本博客请附上原文地址!