mongodb create root
时间: 2024-02-04 10:02:53 浏览: 32
以下是创建MongoDB root用户的步骤:
1. 停止MongoDB服务
```shell
sudo service mongod stop
```
2. 删除MongoDB数据文件和日志文件
```shell
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
```
3. 以修复模式启动MongoDB
```shell
sudo mongod --repair --dbpath /var/lib/mongodb
```
4. 以不验证身份的方式启动MongoDB
```shell
sudo mongod --dbpath /var/lib/mongodb --setParameter authenticationMechanisms= --auth
```
5. 连接到MongoDB
```shell
mongo
```
6. 创建root用户
```shell
use admin
db.createUser({user: "root", pwd: "your_password_here", roles: ["root"]})
```
7. 退出MongoDB
```shell
exit
```
8. 停止MongoDB服务
```shell
sudo service mongod stop
```
9. 以验证身份的方式启动MongoDB
```shell
sudo service mongod start
```
相关问题
docker 部署mongodb
可以通过 Docker 部署 MongoDB 非常方便,下面就简单介绍一下具体的步骤:
1. 拉取 MongoDB 镜像:
```
docker pull mongo
```
2. 运行 MongoDB 容器,并将数据挂载到本地目录:
```
docker run -d -p 27017:27017 --name mongodb \
-v /data/mongodb:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
mongo
```
* -d:后台运行容器
* -p:指定容器端口与主机端口映射,这里将 MongoDB 默认端口 27017 映射到主机端口 27017
* --name:容器名称
* -v:挂载本地目录,这里将容器内的 /data/db 目录挂载到本地 /data/mongodb 目录
* -e:设置环境变量,用于初始化 MongoDB 的 root 用户名和密码
3. 进入 MongoDB 容器,并打开 MongoDB shell:
```
docker exec -it mongodb mongo admin
```
4. 在 MongoDB shell 中创建普通用户:
```
db.createUser({ user: 'user', pwd: '123456', roles: [ { role: "readWrite", db: "testdb" } ] })
```
* 这里创建了一个用户名为 user,密码为 123456,具有 testdb 数据库的读写权限的用户
5. 在 MongoDB shell 中退出:
```
quit()
```
现在就可以通过本地主机上安装的 MongoDB 客户端工具连接到 Docker 容器中运行的 MongoDB 了。
mongodb启用鉴权
要启用MongoDB的鉴权功能,你需要按照以下步骤进行设置:
1. 启动MongoDB实例时,使用`--auth`选项。例如:
```
mongod --auth
```
2. 连接到MongoDB实例:
```
mongo
```
3. 在MongoDB shell中,切换到`admin`数据库:
```
use admin
```
4. 创建超级用户(管理员):
```
db.createUser(
{
user: "adminUser",
pwd: "adminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
```
这将创建一个名为`adminUser`的超级用户,密码为`adminPassword`,并且该用户具有`root`角色。
5. 退出MongoDB shell:
```
quit()
```
6. 重新启动MongoDB实例,并使用鉴权登录:
```
mongod --auth
```
7. 连接到MongoDB实例时,使用创建的超级用户进行身份验证:
```
mongo -u adminUser -p adminPassword --authenticationDatabase admin
```
现在,你已经成功启用了MongoDB的鉴权功能。在此之后,你可以创建其他用户,并为它们分配不同的角色和权限。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)