MongoDB安装Mac M1

 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/  拒绝连接

你可能感兴趣的:(数据库,mongodb,macos,数据库)