0
点赞
收藏
分享

微信扫一扫

MySQL数据库高级查询语句

王远洋 2023-06-26 阅读 28

use MongoDB

docker run -itd --name note-mongo -p 27017:27017 mongo:4.4.6 --auth

Questions

1 启动时候报错 {“t”:{“$date”:“2023-02-19T03:18:26.560+00:00”},“s”:“F”

update docker to version 23.01, it works!!!

2 docker exec -it mongo mongosh admin 这里报 mongosh的错误

新版本的用mongosh,老版本用mongo

3 --auth

启用身份验证后,您可以定义用户账户和密码,并为每个用户分配适当的权限。只有经过授权的用户才能连接到MongoDB并执行相应操作

# 1 启动带有--auth选项的MongoDB容器
docker run -itd --name note-mongo -p 27017:27017 mongo:4.4.6 --auth
# 2 现在,MongoDB容器已经启动并运行,但要访问数据库,需要提供有效的用户名和密码。
# 3 创建一个具有读写权限的管理员账户(如admin)和一个普通用户账户(如app_user)
# 进入MongoDB容器内部
docker exec -it note-mongo bash

# 在容器内部连接MongoDB
mongo

# 切换到admin数据库,创建管理员账户
use admin
db.createUser({
  user: "admin",
  pwd: "admin123",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
})

# 切换到应用数据库,创建普通用户账户
use appdb
db.createUser({
  user: "app_user",
  pwd: "password123",
  roles: [ "readWrite" ]
})

4 现在,只有提供正确的用户名和密码才能连接到MongoDB容器并访问特定数据库。例如,使用以下命令以管理员身份连接到MongoDB:

mongo -u admin -p admin123 --authenticationDatabase admin

或者使用以下命令以普通用户身份连接到MongoDB:

mongo -u app_user -p password123 --authenticationDatabase appdb

5 docker exec -it note-mongo mongo admin
mongo admin:要执行的命令,在此示例中是连接到MongoDB的admin数据库

举报

相关推荐

0 条评论