MongoDB安装Mac M1
admin
2024-03-13 19:27:50

 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: filepath: "/mongodb/log/mongod.log"logAppend: true
storage:journal:enabled: true
processManagement:fork: true
net:bindIp: 127.0.0.1port: 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/  拒绝连接

相关内容

热门资讯

湖南的辣与江西的辣 在《“孪生兄弟”——湖南与江西?》一文中,我们一同“触摸”并感受了两地相似的山川脉络、江河湖泊与亭台...
这趟恩施之旅,见证了热情淳朴的... 恩施这片神奇的土地,用短短五天时间就在我心里刻下了无法磨灭的印记。那些云雾缭绕的山峰、清澈见底的溪流...
原创 湘... “桂林山水甲天下,阳朔山水甲桂林”一说,增加了我们到阳朔去的迫切期待。26日下午,我们终于坐上了从桂...
走起!去太行一号旅游公路五台山... 作图:宫可欣来源:五台山管委会
巡湘记荣登2025第九届中华餐... 2025年11月13日,上海新国际博览中心见证了餐饮界的一场盛会——“2025第22届中华餐饮双创论...