• MongoBd 离线安装与管理


    背景: 

           鉴于内部网络原因,可能一个简单的操作变得复杂化,现在就Mongodb的离线安装分享本人的操作经验:

    材料:

     操作系统:centos7.6

     MongoDB(主程序) : mongodb-linux-x86_64-rhel70-6.0.1.tgz 下载地址:下载

     Mongosh(命令行操作工具): mongodb-mongosh-shared-openssl1-1.6.0.x86_64.rpm 

     openssl(依赖) : openssl11-libs-1.1.1k-4.el7.x86_64.rpm

     zlib(依赖): zlib-1.2.12.tar.gz 

     注:本人将上述材料打包后分享地址:

    MongoDB部署:

     1、创建mongodb 数据库的数据卷和日志卷(可选)

    1. cd /
    2. mkdir /data/mongodb/data
    3. mkdir /data/mongodb/logs
    4. chmod -R 777 /data/mongodb/data (不建议直接赋权777)
    5. chmod -R 777 /data/mongodb/logs (不建议直接赋权777)

    2、上传上述材料到指定系统目录(如:/data/mogodb/)

    3 、解压mongodb-linux-x86_64-rhel70-6.0.1.tgz 到 /usr/local/下

    tar -zxvf mongodb-linux-x86_64-rhel70-6.0.1.tgz /usr/local/

    4、切换到 部署目录

    cd /usr/local/mongodb

    5、通过ls查看目录

     

    6、cd bin 并 ls

      

     7、通过 vi mongodb.conf 编辑(cd /usr/local/mongodb/bin/)

    1. dbpath = /data/mongodb/data/db (根据自己的配置修改)
    2. logpath = /data/mongodb/logs/mongodb.log (根据自己的配置修改)
    3. port = 27017
    4. bind_ip=0.0.0.0

    8、启动mongodb(cd /usr/local/mongodb/bin/)

     9、查找mongodb进程

     10、删除mongodb进程(停止mongodb)

    kill -9 22881

    Mongosh安装

     1、切换到mongodb-mongosh-shared-openssl1-1.6.0.x86_64.rpm所在目录

     2、通过rpm进行安装

    rpm -ivh mongodb-mongosh-shared-openssl1-1.6.0.x86_64.rpm

    4、通过 mongosh 进入mongodb操作数据库(mongosh 在mongodb6开始被独立剥离,需要独立安装) 

     5、通过 use 来切换数据库实例,通过show dbs 来查看当前数据库下的数据库

     

    至此,部署完成。

    权限管理

    由于mongodb的权限是到具体的实例的,而且默认是不开启的,如果要开启密码管理需要做些额外配置

    1、通过 mongosh 进入mongodb命令行操作模式

    2、通过 use admin 进入超级管理模式(如mongosh 部署第5步截图)

    3、创建管理员账号(返回 1表示成功)

    db.createUser({user:'admin',pwd:'123456',roles[{role:'root',db:'admin'}]})

     5、通过 show users 来查看当前数据库实例中的用户信息

    6、通过命令 exit() 退出当前

    7、vi /usr/local/mongodb/bin/mongodb.conf (根据自己服务部署目录来定)

    1. dbpath = /data/mongodb/data/db
    2. logpath = /data/mongodb/logs/mongodb.log
    3. port = 27017
    4. bind_ip=0.0.0.0
    5. fork = true
    6. auth = true

     8、通过 ps -ef|grep mongodb 查询到进程ID并kill -9 进程ID 停掉服务 (参考上文)

     9、启动mongodb(参考上文)

    10、通过mongosh 进行命令操作页面通过use moments(自己的数据库实例) 切换到自己的数据库实例 

    11、通过 db.auth('admin','123456')进入 自己的数据库实例 

    12、创建数据库实例

    use moments 创建数据库实例(数据库连接)

    13、为实例创建用户

    db.createUser({user:'momentadmin',pwd:'123456',roles:[{role:'readWrite',db:'moments'}]})

    13、可以通过 db.auth('momentadmin','123456') 登录。

    附件

    8、常用命令

    1. show users // 查看当前库下的用户
    2. db.dropUser('testadmin') // 删除用户
    3. db.updateUser('admin', {pwd: '654321'}) // 修改用户密码
    4. db.auth('admin', '654321') // 密码认证

    9、MongoDB 数据库默认角色

    角色描述角色标识
    数据库用户角色read、readWrite
    数据库管理角色dbAdmin、dbOwner、userAdmin
    集群管理角色clusterAdmin、clusterManager、clusterMonitor、hostManager
    备份恢复角色backup、restore
    所有数据库角色readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、 dbAdminAnyDatabase
    超级用户角色root
  • 相关阅读:
    vuepress 打包 :window is not defined
    什么是死锁、定位和修复
    arm 内核版本编译记录
    K3s离线部署
    ReactPortals传送门
    Presto查询慢SQL原因排查
    Node.js 实战 第2章 Node 编程基础 2.11 何时使用串行流程控制
    这就是!Python的魅力!
    当当网获得dangdang商品详情 API
    Python操作XML文件总结
  • 原文地址:https://blog.csdn.net/hnmpf/article/details/128114148