背景:
鉴于内部网络原因,可能一个简单的操作变得复杂化,现在就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/logs
chmod -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 |