1. docker 启动

拉取镜像 docker pull mongo:latest

指定目录启动  docker run -d -p 27017:27017 --name mongo \
-v /home/mongodb/data/mongodb:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admindev123$%^ mongo:latest

2. 安装包安装

2.1官方下载地址 https://www.mongodb.com/download-center/community

上传服务器解压   tar -zxvf ************.tgz

移到到指定目录,自己看情况   /usr/local/mongodb

2.2 配置conf与目录

cd /usr/local/mongodb

创建db目录和日志文件

mkdir  /data/db   /logs

touch  /logs/mongodb.log

创建mongodb.conf 文件

vi mongodb.conf

#端口号
port=27017
#db目录
dbpath=/usr/local/mongodb/data/db
#日志目录
logpath=//usr/local/mongodb/logs/mongodb.log
#后台
fork=true
#日志输出
logappend=true
#允许远程IP连接
bind_ip=0.0.0.0

2.3 启动

  ./bin/mongod --config mongodb.conf

连接

./bin/mongo

测试一下

2.4 配置开机自启动

cd /lib/systemd/system

vi mongodb.service

  [Unit]
  Description=mongodb
  After=network.target remote-fs.target nss-lookup.target

  [Service]
  Type=forking
  ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf
  ExecReload=/bin/kill -s HUP $MAINPID
  ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/mongodb.conf
  PrivateTmp=true

  [Install]
  WantedBy=multi-user.target

然后设置mongodb.service权限

chmod +x mongodb.service

#启动服务

systemctl start mongodb.service

#停止服务

systemctl stop mongodb.service

#添加开机自启动

systemctl enable mongodb.service

#重启服务

systemctl restart mongodb.service

2.5 配置环境变量

  1、直接用export命令:
     export PATH=$PATH:/usr/local/mongodb/bin

2、修改profile文件:
     cat >>/etc/profile<<"EOF"
     export PATH="$PATH:/usr/local/mongodb/bin"

EOF

#刷新profile文件:

source  /etc/profile

3、 修改.bashrc文件:

cat >>/root/.bashrc<<"EOF"
     export PATH="$PATH:/usr/local/mongodb/bin"

EOF

上述三步依次执行完毕,环境变量配置完成!!!!

重启服务器,输入mongo 回车就有了。。。。。

3 创建用户

#进入mongoDb容器,创建管理员
docker exec -it mongoDb bash
#进入mongoDb
mongo
> use admin
switched to db admin
> db.createUser({user:"admin",pwd:"admin",roles:[{role:"root",db:"admin"}]});
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
#出现创建成功提示就对了,退出管理员
> exit;
#用刚创建的管理用户登录在创建个普通用户
mongo --port 27017 -u admin -p admin --authenticationDatabase admin
> use test
switched to db test
> db.createUser({user:"tester",pwd:"tester",roles:[{role:"readWrite",db:"test"}]});
Successfully added user: {
"user" : "tester",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}
> exit

使用新建的test库,就需要在新建的test库下面创建一个用户,amdin也不行,admin只能在原始存在的库可以
比如新建一个test
需要在test下面创建一个用户

db.createUser(
{
user: "root",
pwd: "admindev123$%^",
roles: ["readWrite"]
}
)

返回1显示1则成功

 mongoDb用户角色权限说明

  • 数据库用户角色 read、readWrite
  • 数据库管理角色 dbAdmin、dbOwner、userAdmin
  • 集群管理角色 clusterAdmin、clusterManager、clusterMonitor、 hostManager
  • 备份恢复角色 backup、restore
  • 所有数据库角色 readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  • 超级用户角色 root
  • 内部角色 __system

角色说明

  • Read 允许用户读取指定数据库
  • readWrite 允许用户读写指定数据库
  • dbAdmin 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
  • userAdmin 允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
  • clusterAdmin 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
  • readAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读权限
  • readWriteAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读写权限
  • userAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
  • dbAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
  • root 只在admin数据库中可用。超级账号,超级权限

删除用户:

db.dropUser(<user_name>)    删除某个用户,接受字符串参数

示例:db.dropUser(“admin”)

db.dropAllUser()             删除当前库的所有用户

最新文章

  1. [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(5)(IEnumerable&lt;&gt;补充)
  2. Bone Collector(01背包)
  3. JS判断客户端系统 让ipad iphone 等手持设备自动跳到手机版
  4. Visual paradigm Db Archtecture Database config
  5. 号外号外:9月21号关于Speed-BI 《全国人口统计数据分析》开讲了
  6. [POI 2008][BZOJ 1132]Tro
  7. WaitForSingleObject与WaitForMultipleObjects用法详解(好用,而且进入一个非常高效沉睡状态,只占用极少的CPU时间片)
  8. ibatis.net demo
  9. Yii CModel中rules验证规则
  10. 安装php 带debug
  11. LBP特征提取实现
  12. objective-c(初始化)
  13. Python IDLE快捷键
  14. SQL Server 2014 新特性:IO资源调控
  15. Confluence 持续集成平台部署记录
  16. Spring(5)——Spring 和数据库编程
  17. 通过10046 event来获取真实的执行计划
  18. 使用chrome浏览器无法访问github提示不是私密连接且无继续前往选项
  19. reactiveCocoa使用
  20. vue 返回上一页后,上一页由参数渲染的内容无法显示

热门文章

  1. Java Bean 与Spring Bean 的区别
  2. 过滤敏感词工具类SensitiveFilter
  3. 关于UML类图方面的问题(连载)
  4. frp实现基于反向代理的内网穿透
  5. centos7部署mysql-5.7
  6. 搭建直接通过CPU执行汇编语言的环境
  7. tcp十种状态;关于tcp中time_wait状态(2MSL问题)
  8. HTML界面监控键盘回车Enter按下并绑定动作
  9. 【LeetCode】405. Convert a Number to Hexadecimal 解题报告(Java & Python)
  10. 【九度OJ】题目1054:字符串内排序 解题报告