文档章节

mongodb 3.4.5安装及安全配置

hiwill
 hiwill
发布于 2017/06/20 20:31
字数 635
阅读 164
收藏 0

一、yum安装mongodb

vi /etc/yum.repos.d/mongodb-3.4.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

yum install -y mongodb-org

service mongod start
service mongod stop
service mongod restart

二、源码安装
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.5.tgz
tar zxvf mongodb-linux-x86_64-3.4.5.tgz
mv mongodb-linux-x86_64-3.4.5 /usr/local/mongodb
export PATH=/usr/local/mongodb/bin:$PATH
mkdir -p /data/mongodb
useradd mongo
chown mongo.mongo /data/mongodb

echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
echo "never" > /sys/kernel/mm/transparent_hugepage/defrag
ulimit -HSn 65535

su mongo

/usr/local/mongodb/bin/mongod --dbpath=/data/mongodb

这样就以普通用户mongo身份运行了mongodb

三、安全认证设置

新建用户
/usr/local/mongodb/bin/mongo

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

启用认证
/usr/local/mongodb/bin/mongod --dbpath=/data/mongodb --auth

1,创建连接mongo shell时进行授权,指定-u <username>, -p <password>, and the --authenticationDatabase <database>
mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"

2,mongo shell登录后认证

use admin
db.auth("root","uiop789")
输出1,即认证成功


>show dbs  查看库
>db.system.users.find() 查询所有用户
>show users 查看用户
>db.system.users.remove("user":"username") 删除用户username
>db.changeUserPassword("root","newpass") 修改用户密码

>use admin  切换到admin
>db.shutdownServer() 关闭mongodb

四、阿里的一个配置模板

mongod.conf内容 (将$mymongo替换成你的工作目录)

systemLog:
  destination: file
  logAppend: true
  logRotate: rename
  path: $mymongo/logs/mongod.log
  timeStampFormat: iso8601-local
  traceAllExceptions: false
  verbosity: 0

processManagement:
  fork: true
  pidFilePath: $mymongo/logs/mongod.pid

net:    
  #bindIp: 127.0.0.1
  port: 3001
  http:
    enabled: false
  maxIncomingConnections: 1000
  unixDomainSocket:
    enabled: false

operationProfiling:
  mode: slowOp
  slowOpThresholdMs: 100    

security:
  authorization: enabled
  keyFile: $mymongo/etc/keyfile
  javascriptEnabled: false

replication:
  oplogSizeMB: 5120
  replSetName: myreplset

storage:
  dbPath: $mymongo/data
  directoryPerDB: true
  syncPeriodSecs: 60
  engine: wiredTiger
  journal:
    enabled: true
    commitIntervalMs: 100
  wiredTiger:
    engineConfig:
      cacheSizeGB: 4

mongod -f /etc/mongodb.conf --dbpath=/data/mongodb --auth

© 著作权归作者所有

hiwill
粉丝 12
博文 131
码字总数 90625
作品 0
朝阳
私信 提问
如何保证MongoDB的安全性?

上周写了个简短的新闻《MongoDB裸奔,2亿国人求职简历泄漏!》: 根据安全站点HackenProof的报告,由于MongoDB数据库没有采取任何安全保护措施,导致共计202,730,434份国人求职简历泄漏。 然...

Fundebug
01/21
0
0
MongoDB 3.4.5 和 3.2.14 发布

MongoDB 3.4.5 和 3.2.14 发布了。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson...

淡漠悠然
2017/06/15
612
0
如何安全地配置一个生产环境的MongoDB服务器?

如何安全地配置一个生产环境MongoDB服务器? 安全配置一个生产环境MongoDB服务器 如果MongoDB是一个为你提供选择的文档存储器,那么这篇文章会帮助你,安全妥善地配置一切就绪的生产环境。 ...

samday
2014/04/15
1K
0
mongodb(一)mongodb 副本集配置

---layout: blogistop: truetitle: "mongodb 副本集配置"date: 2018-08-29category: mongodbtags: mongodb --- 环境 下载解压 基本配置: 假定已经解压安装完成,现在所处的目录是 /usr/loc......

开心的哈士奇
2018/10/17
207
0
关于Mongodb启动服务时1067错误的解决方法

如图:按照官网Install MongoDB on Windows(参考文尾备注)章节介绍安装完服务之后,无论是命令行net start mongodb,还是在系统服务中启动MongoDB服务,都会提示1067的错误。 网上有些说删...

Iuranus
2013/11/14
6.9K
3

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
6
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
4
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
7
0
从零基础到拿到网易Java实习offer,我做对了哪些事

作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右的时间。本文将会讲到...

Java技术江湖
昨天
7
0
程序性能checklist

程序性能checklist

Moks角木
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部