前言
本篇博客是本人在Mac环境下安装MongoDB结合安装过程以及遇到的问题写的一篇总结文章,希望对浏览文章的朋友有所帮助!
1.安装的方式
在网上搜了一下MongoDB的安装方式大致可分为两种:
1.使用命令安装
2.下载安装包
我在安装MongoDB的过程中两种方式都使用过,开始使用的是命令安装,结果失败了。于是我又采用了下载安装包的方式进行安装MongoDB,这种方式成功了,一下内容为我安装过程中所遇到的问题的总结
2.下载安装
1.访问MongoDB官方下载地址下载MongoDB的压缩包
选择对应的版本进行,然后Download下载
.tgz
压缩包。
3.安装步骤以及服务的启动
1.下载完成后将其解压,拷贝解压后的文件夹。打开
访达(Finder)
,按shift + command +G打开文件夹搜索框(因为在默认情况下是看不到我要前往的目录),在搜索框中输入地址/usr/local
,回车前往/usr/local
文件夹,将拷贝的MongoDB文件夹粘贴到目录下。2..配置环境变量,打开终端,输入“open -e .bash_profile”,在打开的文件中加入
export PATH=${PATH}:/usr/local/mongodb/bin #如果于我对应的文件夹名称不同请修改成你自己的
修改完成后,command + s 保存,关闭.bash_profile编辑窗口。然后在终端中输入
source .bash_profile
使配置生效(注意:这个个过程最好不要使用fish模式,source文件的时候会编译报错)3..在终端中输入
mongod -version
命令,回车后看到如图所示的版本号后,则说明MongoDB安装成功4..此时我们还不能直接启动MongoDB服务,需要在根目录下新建 data 文件夹,里面再建一个 db 文件夹,安装MongoDB时并不会自动生成,需要我们手动创建,可以在命令行输入创建,该文件夹创建在你电脑的根目录下
sudo mkdir -p /data/db
遇到的问题
问题1
在创建文件夹时我遇到的问题:无法在根目录下创建文件夹,执行命令终端返回代码如下所示(没有权限)
mkdir: data: Read-only file system
我的解决方案:关闭本机SIP(系统完整性保护)
1.查看SIP状态
首先终端中输入
csrutil status
命令,如果返回System Integrity Protection status: enabled
.说明SIP处于开启状态。2.解决办法
重启电脑,按住
command + R
直至进入系统恢复界面(这个重启的过程中请一直按直到出现系统恢复界面),然后点击实用工具选择终端,在终端中输入csrutil disable
命令关闭SIP3.重新启动电脑
4.权限获取
电脑重启完成后打开终端,在终端中输入
sudo mount -uw /
获取权限,然后就有权限在根目录创建文件夹了5.文件夹创建好后,启动服务端
在终端中输入
mongod
命令,启动服务,如果命令执行后没有突然之间的终止,说明服务启动成功,打开浏览器,输入localhost:27017 ,会出现这样一行文字。It looks like you are trying to access MongoDB over HTTP on the native driver port.
如果命令执行过程中被终止了,如图所示
问题分析:操作都没有问题,到这一步考虑创建的/data/db文件的权限
使用命令查看文件夹的权限
cd data ls -l
文件的权限如图所示,可以看到文件夹的权限竟然是
root
,不是当前登录的管理员权限,所以我们只需要将文件的权限修改成当前登录的管理员权限即OK执行命令,将文件夹的权限修改成当前登录的管理员的权限
sudo chown -R 当前登录的管理员名称 /data
如下图所示
不知道当前登录的管理员名称,参考下图
4.服务的关闭
要停止MongoDB的时候一定要正确的退出,不然下次再次连接数据库会出现问题,我这里提供我会的一种方式
1.连接mongodb服务端,终端输入命令
mongo
你可以使用
db
查看当前所连接的数据库 <…其他操作省略>2.使用
use admin;
和db.shutdownServer();
命令关闭服务,如下图所示