ToB企服应用市场:ToB评测及商务社交产业平台

标题: 连接MongoDB+Docker安装MongoDB [打印本页]

作者: 知者何南    时间: 2023-4-17 19:29
标题: 连接MongoDB+Docker安装MongoDB
一、连接MongoDB

1、无设置密码





2、设置了密码



二、安装

https://www.cnblogs.com/cwp-bg/p/10403327.html
https://blog.csdn.net/weixin_45753881/article/details/126647801
https://www.jianshu.com/p/79caa1cc49a5
1、准备工作

①、创建三个文件夹
  1. # 数据文件夹
  2. mkdir /usr/developSoftware/mongodb/data
  3. # 备份+日志
  4. mkdir /usr/developSoftware/mongodb/backup
  5. # 配置文件夹
  6. mkdir /usr/developSoftware/mongodb/conf
复制代码
②、准备配置文件,也可以不准备
  1. touch /usr/developSoftware/mongodb/conf/mongodb.conf
  2. touch /usr/developSoftware/mongodb/backup/log.txt
复制代码
  1. #数据库数据存放目录
  2. dbpath=/usr/developSoftware/mongodb/data
  3. #数据库日志存放目录
  4. logpath=/usr/developSoftware/mongodb/backup/log.txt
  5. #以追加的方式记录日志
  6. logappend = true
  7. #端口号 默认为27017
  8. port=27017
  9. #以后台方式运行进程
  10. fork=true
  11. #开启用户认证
  12. auth=true
复制代码
2、Docker安装

2.1、镜像、容器操作
  1. # 搜索
  2. docker search mongodb
  3. # 拉取镜像
  4. docker pull mongo
  5. # 查看镜像
  6. docker images
复制代码
  1. # 创建和启动容器
  2. # 容器命名mymongo,数据库数据文件挂载到/usr/developSoftware/mongodb/data,备份文件挂载到/usr/developSoftware/mongodb/backup,启动的配置文件目录挂载到容器的/usr/developSoftware/mongodb/conf,--auth开启身份验证。
  3. docker run -d --name mymongo -p 27017:27017 --restart=always -v /usr/developSoftware/mongodb/data:/data/db -v /usr/developSoftware/mongodb/backup:/data/backup -v /usr/developSoftware/mongodb/conf:/data/configdb -d mongo --auth
复制代码
  1. # 进入容器
  2. docker exec -it mymongo /bin/bash
  3. # 查看版本
  4. mongod --version
  5. # 使用MongoDB客户端进行操作
  6. mongo
  7. > show dbs #查询所有的数据库
  8. admin 0.000GB
  9. config 0.000GB
  10. local 0.000GB
  11. > db.version() #查询版本
  12. 5.0.5
复制代码
2.2、设置密码登陆

权限描述read允许用户读取指定数据库readWrite允许用户读写指定数据库dbAdmin允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问dbOwner提供该数据库下所有权限操作能力。userAdmin提供该数据库下用户和权限的创建和修改的操作能力。可以创建dbOwner权限。clusterAdmin提供最大的集群管理访问。clusterManager提供对集群的管理和监控操作。具有此角色的用户可以访问config和local 数据库,分别用于分片和复制。clusterMonitor提供对监控工具的只读访问。hostManager提供监控和管理能力。backup数据备份能力。restore数据恢复能力。readAnyDatabase只在admin数据库中可用,赋予用户所有数据库的读权限readWriteAnyDatabase只在admin数据库中可用,赋予用户所有数据库的读写权限userAdminAnyDatabase只在admin数据库中可用,赋予用户所有数据库的userAdmin权限dbAdminAnyDatabase只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。root超级管理员,简而言之,畅通无阻。①、设置管理账户
  1. # 进入amdin数据库
  2. use admin
复制代码
  1. # 创建超级权限root角色的用户,或者userAdminAnyDatabase 等角色权限比较大的用户,我创建的是拥有超级权限root角色的用户root
  2. # 用户名:rootCs,密码:123rootCs456,角色:root,数据库:admin
  3. db.createUser({user:'rootCs',pwd:'123rootCs456',roles:[{role:'root',db:'admin'}]})
复制代码
  1. # 认证登录db.auth('用户名','密码'),打印1则代表认证通过
  2. db.auth('rootCs','123rootCs456')
复制代码

②、新增数据库并创建用户

  1. use myMongo
复制代码
  1. db.createUser({user:"cs", pwd:"cs123456", roles:[{role: "dbOwner", db:"myMongo" }]})
复制代码
  1. db.auth('cs','cs123456')
复制代码
  1. show collections
复制代码
3、总结

  1. # 无账号密码
  2. mongodb://yourIp:27017/myMongo
  3. # 有账号密码
  4. mongodb://cs:cs123456@yourIp:27017/myMongo
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4