【Mongodb】Linux安装Mongodb

目录:

  一、官网下载安装包

  二、安装配置Mongodb

  三、安装mongosh

  四、安全配置

 

一、官网下载安装包

1、下载安装包 (Mongodb官网地址:https://www.mongodb.com/zh-cn

二、安装配置Mongodb

 1、上传到服务器后解压

# 解压
tar -xvf mongodb-linux-x86_64-enterprise-rhel70-7.0.6.tgz
# 移动位置
mv 解压位置 目标位置(一般会放到 /usr/local/mongodb 下)
# 创建数据、日志、配置存储目录
mkdir 数据存储目录
mkdir 日志存储目录
mkdir 配置存储目录
# 到配置目录中创建配置文件
vim 配置文件名称

2、配置文件内容如下:

systemLog:
  # MongoDB发送所有日志输出的目标指定为文件
  destination: file
  # mongod或者mongos应向其发送所有诊断日志记录信息的日志文件的路径
  path: "【日志存储路径】"
  # 当mongod活着mongos实例重新启动时,mongod或者mongos会将新条目附加到现有日志文件的末尾
  logAppend: true
storage:
  # mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod
  dbPath: "【数据存储路径】"
# 新版本不再需要指定持久性日志(默认启用)
#  journal:
#    enabled: true

processManagement:
  # 启用在后台运行mongod或mongos进程的守护进程模式
  fork: true
net:
  # 服务实例绑定的IP,默认是localhost(本处增加内网ip,查看方式可以运行ifconfig命令,inet后边的ip就是)
  bindIp: localhost,127.0.0.1,【内网ip】
  # 绑定的端口号
  port: 【端口号】

【此处第一次需要注释掉(否则启动后由于没有默认用户名密码,会导致无法在外部连接),在设置好用户名密码后可开启安全验证】
security:
  # 启动安全验证
  authorization: enabled
  # 指定密钥文件(openssl rand -base64 756 > 【生成位置/文件名】)(key文件需要设置文件权限:chmod 400 【生成位置/文件名】)
  keyFile: 【文件位置/文件名】

3、启动mongodb(去除配置文件中的安全验证)

# 切换到mongodb安装目录的bin目录下(使用mongo命令启动)(-f 为后台启动)
mongod -f 配置文件位置

三、安装mongosh

1、背景

  由于mongodb的4.4版本后bin目录下就没有mongo命令了,所以需要单独安装mongosh工具

2、下载安装包(官网下载路径:https://www.mongodb.com/try/download/shell

 3、rpm安装

# 无法指定安装目录,有固定的安装目录
rpm -ivh mongodb-mongosh-1.8.0.x86_64.rpm

4、shell连接mongodb数据库

mongosh --port 端口号 --host localhost

四、安全配置

1、创建用户及密码

// 跳转到admin数据库
use admin
// 创建用户(权限类型可查看步骤3)
db.createUser(
   {
     user: "用户名",
     pwd: "密码",
     roles: [{"role":"权限","db":"数据库"}]
   }
)

2、其他验证命令

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

3、权限

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

4、关闭mongodb后,重新打开配置文件中的安全验证启动

5、验证是否生效

# 方式一
mongosh
use admin
db.auth('用户名', '密码')
# 方式二
mongo 数据库(可以不指定) -u 用户名 -p 密码

 

 

本博客参考:

MongoDB数据库设置账号密码完整步骤:https://www.jb51.net/article/284523ehn.htm

MongoDB【部署 01】mongodb最新版本6.0.5安装部署配置使用及mongodb-shell1.8.0安装使用(云盘分享安装文件):https://blog.csdn.net/weixin_39168541/article/details/129638385

posted @ 2024-03-16 19:09  细胞何  阅读(2250)  评论(5编辑  收藏  举报