由于最近在爬虫,获取的数据大多是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 | #setting path for mongodb |
刷新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 | use admin |
上面语句关闭了mongod服务进程,再使用 quit()
命令,则会退出mongo服务,即MongoDB Shell命令行客户端。回到前一个终端窗口,可以看到mongod已经退出。
方法二:
用 exit
或 ctrl+c
直接退出
1 | exit |
遇到的报错
如果只开启了mongod服务,但是还没有连接数据库,也即是说在第一个窗口就ctrl+z退出,这时候的mongod进程是不会退出的,假如再用sudo mongod开启服务,就会有 Address already in use mongod
的报错,然后打开新窗口执行 sudo mongo 也不会连接到数据库,而是显示
1 | MongoDB shell version v4.0.9 |
解决方法:在终端kill掉进程,或打开活动监视器直接关闭mongod
,mongo
这两个进程。
问题原因:ctrl+c
就能中断退出进程ctrl+z
只是将服务在后台挂起,不会中断。如要恢复服务用 fg
命令
参考资源:
菜鸟教程: Mac OSX 平台安装 MongoDB
mac下mongodb的安装和使用(使用终端操作)
Mac下安装MongoDB 及使用教程
Mac下安装和配置mongoDB
MongoDB启动异常 报错 及 正确的关闭方法