下载地址:https://www.mongodb.com/try/download/community

1 windows安装

windows安装 参考 https://www.runoob.com/mongodb/mongodb-window-install.html

2 docker中安装

拉取镜像,可以拉取latest 也可以拉取某个版本,建议拉取固定版本

# 安装mongodb

docker pull mongo:6.0.11

# cpu指令集不支持时
docker pull mongo:4.4.25

# 创建持久化目录
mkdir -p /data/mongodb/{data,conf,log}

运行容器时,同时创建root账号密码,并开启登录认证

docker run -d --name mongo \
 -v /data/mongodb/data:/data/db \
 -e MONGO_INITDB_ROOT_USERNAME=root \
 -e MONGO_INITDB_ROOT_PASSWORD=rootpassword \
 -p 27017:27017 \
 mongo:6.0.11 --auth

# cpu指令集不支持时
docker run -d --name mongo \
 -v /data/mongodb/data:/data/db \
 -e MONGO_INITDB_ROOT_USERNAME=root \
 -e MONGO_INITDB_ROOT_PASSWORD=rootpassword \
 -p 27017:27017 \
 mongo:4.4.25 --auth
vi /data/mongodb/conf/mongod.conf

systemLog:
   destination: file
   path: "/data/log/mongod.log"
   logAppend: true
net:
   bindIp: 127.0.0.1
   port: 27017
security:
   authorization: enabled
setParameter:
   enableLocalhostAuthBypass: false

docker run -d --name mongo \
 -v /data/mongodb/data:/data/db \
 -v /data/mongodb/conf:/data/conf \
 -p 27017:27017 \
 mongo:6.0.11 --config /data/conf/mongod.conf

创建用户

docker exec -it mongo mongosh admin

db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},'readWriteAnyDatabase']});

## 尝试使用上面创建的用户信息进行连接。
db.auth('admin', '123456');

上面创建的用户皆是在 admin 库之下的

mongodb 连接登录有两种方式,一是,mongodb://127.0.0.1/dbname选库登录,二是,mongodb://127.0.0.1/直接登录后再选库。

使用 mongodb://127.0.0.1/dbname选库登录 要注意,登录用户必须在 dbname 库下创建,示例如下:

use test;

db.createUser({ user:'test',pwd:'123456',roles:[ { role:'dbOwner', db: 'test'}]});

可以发现创建的用户所属库是不一样的

作者:admin  创建时间:2023-10-15 14:46
最后编辑:admin  更新时间:2023-10-15 16:11