美文网首页
MongoDB安装与初始配置

MongoDB安装与初始配置

作者: hz_heng | 来源:发表于2018-01-16 09:30 被阅读0次

环境:

操作系统:centos 6.9
MongoDB版本:mongodb community edition 3.4

一、MongoDB安装

  • 创建yum源
vi /etc/yum.repos.d/mongodb-org-3.4.repo
  • 配置yum源
[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进行安装
yum install -y mongodb-org
  • 启动mongod服务
systemctl start mongod

二、MongoDB配置

  • 初次启动mongo时会有如下警告信息

    这是由于mongo建议禁用系统大内存页面,解决方法:
    执行如下命令

    echo never >>  /sys/kernel/mm/transparent_hugepage/enabled
    echo never >>  /sys/kernel/mm/transparent_hugepage/defrag
    
    重启mongod服务
  • 数据存储目录配置
    mongodb默认配置文件为/etc/mongod.conf
  • 用户认证配置
    mongodb默认是没有用户名和密码,也不启用安全认证。
    启用安全认证:
    • 创建一个初始管理账号(此时不能开启认证)
    > use admin
    > db.createUser(
    ...    {
    ...        user: 'admin',
    ...        pwd: 'admin',
    ...        customData: {"description": "管理员用户"},
    ...        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
    ...    }
    ...)
    

    内置角色:
    数据库用户角色:read、readWrite;

数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root (如果用户同时有dbOwner 、userAdmin、userAdminAnyDatabase三个角色,就间接或直接提供了系统超级用户的访问)
所有数据库角色和超级用户角色只能在admin库中授权
其中常用的权限:
readWrite : 支持find、insert、remove、update等;
userAdmin:支持createUser、createRole、changePassword等;
dbAdmin:支持dbstats、find、listCollections、dropCollection等;
dbOwner:是readWrite、userAdmin、DBAdmin的权限集合;

注:一个用户可以拥有多个数据库的不同权限,但是在哪个数据库下创建的用户就要在哪个数据库下进行认证!

  • 修改配置文件(/etc/mongod.conf)开启安装认证,并重启mongod服务
    去掉security前面#号,添加authorization: enabled
  • 认证
> use admin
> db.auth('admin', 'admin') # db.auth(username, pwd)

相关文章

网友评论

      本文标题:MongoDB安装与初始配置

      本文链接:https://www.haomeiwen.com/subject/puasbxtx.html