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服务
## 1.切换到管理员
use admin
## 2.运行命令(参数可写可不写)
db.shutdownServer();
## 展示如下:关闭成功
server should be down...
## 通过浏览器访问 http://127.0.0.1:27017/ 拒绝连接