Mac下安装mongodb

  由于最近在爬虫,获取的数据大多是json格式的,之前我使用过的数据库是mysql,所以现在想学习非关系型数据库mongodb。可是安装软件的时候才发现并没那么简单,走了些弯路才安装成功,在此记录一下安装情况。

1. 简介

以下代码在mac终端下运行。
所以读者需要在自己电脑上安装linux系统,安装方法可以自行谷歌或百度。
建议在 linux 下实践本教程中命令行操作、执行代码。

2. 安装

官方下载地址:mongoDB官网
下载解压并将文件夹改名为mongodb,再将其放在 /usr/local/ 目录下
具体步骤:

打开电脑终端,进入以下目录

1
cd /usr/local

下载mongodb,用curl方式下载即可:

1
sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.11.tgz

此处下载很慢,修改了hosts,加入ip映射才快些,光下载花了不少时间(。•́︿•̀。)

解压

1
sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.11.tgz

重命名

1
sudo mv mongodb-osx-ssl-x86_64-4.0.11 mongodb

3. 设置环境变量

手动设置环境变量

1
vim ~/.bash_profile

添加以下内容

1
2
3
#setting path for mongodb
PATH="$PATH:/usr/local/mongodb/bin"
export PATH

刷新bash_profile,使环境变量生效

1
source ~/.bash_profile

查看环境变量是否添加成功

1
echo $PATH

4. 创建存放数据的目录

创建一个数据库存储目录 /data/db,这是mongodb默认存放数据的目录,需要我们自己手动创建。

1
sudo mkdir -p /data/db

给该目录设置权限

1
sudo chown -R username /data

username是本电脑用户名,可以通过 whoami 命令获得

5. 启动mongoDB server

启动mongodb服务,连接到mongodb数据库服务器

1
sudo mongod

启动服务器

启动服务器

会列出一大堆信息,里面有显示默认端口是27017。最后光标在最下面一闪一闪,表示服务正在运行。这时候打开浏览器访问 http://127.0.0.1:27017 如果看到返回的消息是:

1
It looks like you are trying to access MongoDB over HTTP on the native driver port.

说明启动数据库成功,此时/data/db里面也会新建很多文件

6. 启动MongoDB Shell

MongoDB Shell是mongodb的命令行客户端
回到终端,mongodb服务的界面不能关闭,cmd+T 打开新的终端窗口,用下面命令连接数据库

1
sudo mongo

自此就可以使用MongoDB Shell操作数据库了

连接数据库

连接数据库

7. 关闭数据库服务

方法一:
在MongoDB Shell输入以下命令

1
2
3
4
> use admin
switched to db admin
> db.shutdownServer()
server should be down...

上面语句关闭了mongod服务进程,再使用 quit() 命令,则会退出mongo服务,即MongoDB Shell命令行客户端。回到前一个终端窗口,可以看到mongod已经退出。

方法二:
exitctrl+c 直接退出

1
2
> exit
bye

遇到的报错

如果只开启了mongod服务,但是还没有连接数据库,也即是说在第一个窗口就ctrl+z退出,这时候的mongod进程是不会退出的,假如再用sudo mongod开启服务,就会有 Address already in use mongod 的报错,然后打开新窗口执行 sudo mongo 也不会连接到数据库,而是显示

1
2
MongoDB shell version v4.0.9
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb

解决方法:在终端kill掉进程,或打开活动监视器直接关闭mongod,mongo这两个进程。

问题原因:
ctrl+c 就能中断退出进程
ctrl+z 只是将服务在后台挂起,不会中断。如要恢复服务用 fg 命令

参考资源:

菜鸟教程: Mac OSX 平台安装 MongoDB
mac下mongodb的安装和使用(使用终端操作)
Mac下安装MongoDB 及使用教程
Mac下安装和配置mongoDB
MongoDB启动异常 报错 及 正确的关闭方法