1、下载安装包:
axInstall MongoDB Community Edition on macOS — MongoDB Manualhttps://www.mongodb.com/docs/v6.0/tutorial/install-mongodb-on-os-x/下载解压,重命名为mongodb 放到 /usr/local 目录下
2、配置文件
打开配置文件
open -e .bash_profile
把 MongoDB 的二进制命令文件目录(安装目录/bin)添加到 PATH 路径中:
export PATH=/usr/local/mongodb/bin:$PATH
command+s保存退出 生效配置文件:
source .bash_profile
# 进入 /usr/local
cd /usr/local/mongodb/bin
查看版本
mongod -version
3、添加data和log文件夹
数据存放路径:
sudo mkdir -p /usr/local/mongodb 日志文件路径:
sudo mkdir -p /usr/local/log/mongodb 接下来要确保当前用户对以上两个目录有读写的权限:
- sudo chown runoob /usr/local/mongodb
- sudo chown runoob /usr/local/log/mongodb
4、启动mongod服务
方法一:
sudo mongod
方法二:
- cd /usr/local/mongodb/bin
- ./mongod
方法三:使用以下命令在后台启动 mongodb:
- cd /usr/local/mongodb/
- bin/./mongod --fork -dbpath data/db --logpath log/mongo.log --logappend
forked process: 912
ERROR: child process failed, exited with 1
失败原因:文件地址没写对
方法四:
如果不想在后端运行,而是在控制台上查看运行过程可以直接设置配置文件启动:
- ## 启动命令
- mongod --config=/usr/local/mongodb/etc/mongo.conf
- ## 启动成功,可在浏览器中验证
-
- ## 关闭服务时,按照上面的方式去关闭,会有问题。原因是:我们在配置文件中开启了认证 auth=true,我们想关闭的时候会报错,告知我们没有权限
- ## 解决很简单,没有权限就赋予一个权限
- ## 如果是新安装的mongodb,默认是没有用户的,所以我们来创建用户
-
- ## 创建用户
- db.createUser({user: 'root', pwd: '123456', roles:[{role:'root',db:'admin'}]})
- ## 登陆用户
- db.auth('root','123456')
- ## 显示 1 说明登陆成功
- ## 赋予权限
- db.grantRolesToUser('root', [{role: 'hostManager',db:'admin'}])
- ## 关闭服务
- db.shutdownServer({force:true});
要先在/usr/local/mongodb/etc中添加文件mongo.conf
文件内容:
- systemLog:
- destination: file
- path: "/mongodb/log/mongod.log"
- logAppend: true
- storage:
- journal:
- enabled: true
- processManagement:
- fork: true
- net:
- bindIp: 127.0.0.1
- port: 27017
- setParameter:
- enableLocalhostAuthBypass: false
启动失败:
about to fork child process, waiting until server is ready for connections.
forked process: 32881
ERROR: child process failed, exited with 1
To see additional information in this output, start without the "--fork" option.
查看 mongod 服务是否启动:
ps aux | grep -v grep | grep mongod
使用以上命令如果看到有 mongod 的记录表示运行成功。
启动后我们可以使用 mongo 命令打开一个终端:
5、成功启动MongoDB后,再打开mongo
- cd /usr/local/mongodb/bin
- ./mongo
MongoDB shell version v5.0.14
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("3c12bf4f-695c-48b2-b160-8420110ccdcf") }
MongoDB server version: 4.0.9
……
> 1 + 1
2
>
## 打开浏览器输入: http://127.0.0.1:27017/
It looks like you are trying to access MongoDB over HTTP on the native driver port.
链接失败:
MongoDB shell version v5.0.14
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:372:17
@(connect):2:6
exception: connect failed
exiting with code 1
原因:mongodb服务没启动
6.关闭mongodb服务
在mongo窗口中关闭服务
- cd usr/local/mongodb/bin
- ./mongo
- ## 1.切换到管理员
- use admin
- ## 2.运行命令(参数可写可不写)
- db.shutdownServer();
- ## 展示如下:关闭成功
- server should be down...
- ## 通过浏览器访问 http://127.0.0.1:27017/ 拒绝连接