MongoBd 离线安装与管理
创始人
2024-03-03 02:57:17
0

背景: 

       鉴于内部网络原因,可能一个简单的操作变得复杂化,现在就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 数据库的数据卷和日志卷(可选)

cd /
mkdir /data/mongodb/data
mkdir /data/mongodb/logschmod -R 777 /data/mongodb/data (不建议直接赋权777)
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/)

dbpath = /data/mongodb/data/db (根据自己的配置修改)
logpath = /data/mongodb/logs/mongodb.log (根据自己的配置修改)
port = 27017
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 (根据自己服务部署目录来定)

dbpath = /data/mongodb/data/db
logpath = /data/mongodb/logs/mongodb.log
port = 27017
bind_ip=0.0.0.0
fork = true
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、常用命令

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

9、MongoDB 数据库默认角色

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

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...