mongodb在linux下的部署

目录

  • 版本
  • 部署
    • 上传到服务器中
    • 创建目录,解压
    • 创建mongodb.conf
    • 添加环境变量
    • 添加到系统服务中
      • centos6 中添加到服务中
    • 重新加载服务并启动
    • 卸载,mongodb.conf配置项等
  • 创建用户,设置用户名密码角色
  • 启动验证
    • 验证
  • 常见知识
    • mongodb角色
    • mongodb.conf配置

版本

官网下载地址: https://www.mongodb.com/try/download/community

选择对应的版本进行安装,本次部署的为6.0.3

社区服务版

image

shell工具

image

tool工具

image

部署

上传到服务器中

image

习惯性的放在/opt目录下。 其他位置也可以

创建目录,解压

mkdir -p /opt/mongodb/mongodb-server
mkdir -p /opt/mongodb/mongodb-cli
mkdir -p /opt/mongodb/mongodb-tool
mkdir -p /opt/mongodb/data
mkdir -p /opt/mongodb/log
cd /opt
tar -xvf mongodb-linux-x86_64-rhel70-6.0.3.tgz
tar -xvf mongosh-1.6.0-linux-x64.tgz
tar -xvf mongodb-database-tools-rhel70-x86_64-100.6.1.tgz
mv mongodb-linux-x86_64-rhel70-6.0.3/* mongodb/mongodb-server/
mv mongosh-1.6.0-linux-x64/* mongodb/mongodb-cli/
mv mongodb-database-tools-rhel70-x86_64-100.6.1/* mongodb/mongodb-tool/

创建mongodb.conf

vi /etc/mongodb.conf

# 这是该配置文件内容
# 数据库路径
dbpath=/opt/mongodb/data
# 日志输出文件路径
logpath=/opt/mongodb/log/mongodb.log
# 错误日志采用追加模式
logappend=true
# 启用日志文件,默认启用
journal=true
# 这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
# 端口号 默认为27017
port=27017

#只允许本地ip:127.0.0.1连接到该数据库服务
#bind_ip=127.0.0.1
#允许远程访问
bind_ip=0.0.0.0
#开启子进程(作用:让MongoDB服务在linux后台运行)
fork=true
#开启认证,必选先添加用户,先不开启(不用验证账号密码)
# auth=true

添加环境变量

vi /etc/profile     # 修改一下环境变量,将下面的地址追加到文档最后,mongodb_home可以不加,后面我们做启动优化
export MONGODB_HOME=/opt/mongodb/mongodb-server
export MONGODB_CLI=/opt/mongodb/mongodb-cli
export MONGODB_TOOL=/opt/mongodb/mongodb-tool
export PATH=$PATH:$MONGODB_HOME/bin:$MONGODB_CLI/bin:$MONGODB_TOOL/bin
source /etc/profile     # 刷新一下环境变量

添加到系统服务中

交由systemd进行管理

vi /usr/lib/systemd/system/mongodb.service

# 以下是文件内容
[Unit]
Description=mongodb-server
After=network.target remote-fs.target nss-lookup.target  
  
[Service]  
Type=forking  
ExecStart=/opt/mongodb/mongodb-server/bin/mongod --config /etc/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/opt/mongodb/mongodb-server/bin/mongod --shutdown --config /etc/mongodb.conf
PrivateTmp=true  
Restart=always
RestartSec=1 

[Install]  
WantedBy=multi-user.target

注意:

mongodb.service 中的路径要写全路径,如果用环境变量会有问题。读不到;不过可以可以通过定义Environment来定义环境变量解决

centos6 中添加到服务中

vi /etc/init.d/mongodb.server

# 脚本是这个
#!/bin/bash
#
#chkconfig: 2345 80 90
#description: mongodb

start() {
 rm -f /datas/mongodb/data/mongod.lock
 /datas/mongodb/mongodb-server/bin/mongod --config /etc/mongodb.conf
}

stop() {
 /datas/mongodb/mongodb-server/bin/mongod --config /etc/mongodb.conf --shutdown
}

case "$1" in
  start)
    start
     ;;

  stop)
    stop
     ;;

  restart)
    stop
    start
    ;;

  *)
    echo $"Usage: $0 {start|stop|restart}"
    exit 1
  ;;

esac

exit 0


重新加载服务并启动

systemctl daemon-reload 
systemctl start mongodb
# 查看运行状态
systemctl status mongodb

# 设置开机启动
systemctl enable mongodb

image

卸载,mongodb.conf配置项等

具体可查看官方文档 https://www.mongodb.com/docs/v6.0

创建用户,设置用户名密码角色

mongosh

# 切换到admin库中
use admin
# 创建超级管理员用户
db.createUser({user:"admin", pwd:"P@ssw0rd",roles:["root"]})
# 查看用户列表
db.system.users.find()

image

启动验证

修改/etc/mongodb.conf ;

image

systemctl restart mongodb;

验证

mongosh

use admin;

db.auth("admin","P@ssw0rd");

image

常见知识

mongodb角色

数据库用户角色

read: 只读数据权限

readWrite:读写数据权限

数据库管理角色

dbAdmin: 在当前db中执行管理操作的权限

dbOwner: 在当前db中执行任意操作

userADmin: 在当前db中管理user的权限

备份和还原角色

backup: 备份

restore: 还原

夸库角色

readAnyDatabase: 在所有数据库上都有读取数据的权限

readWriteAnyDatabase: 在所有数据库上都有读写数据的权限

userAdminAnyDatabase: 在所有数据库上都有管理user的权限

dbAdminAnyDatabase: 管理所有数据库的权限

集群管理

clusterAdmin: 管理机器的最高权限

clusterManager: 管理和监控集群的权限

clusterMonitor: 监控集群的权限

hostManager: 管理Server

超级权限

root: 超级用户

mongodb.conf配置

# mongodb.conf

# 数据库文件位置
dbpath=/var/lib/mongodb

#日志文件的路径
logpath=/var/log/mongodb/mongodb.log

# 是否追加方式写入日志,默认True
logappend=true

# 设置绑定ip
bind_ip = 127.0.0.1
# 设置端口
port = 27017

# 是否以守护进程方式运行,默认false
fork = true

# 启用日志文件,默认启用
journal=true

# 启用定期记录CPU利用率和 I/O 等待,默认false
#cpu = true

# 是否以安全认证方式运行,默认是不认证的非安全方式
#noauth = true
#auth = true

# 详细记录输出,默认false
#verbose = true

#用于开发驱动程序时验证客户端请求
#objcheck = true

# # 启用数据库配额管理,默认false
#quota = true

# 设置oplog日志记录等级,默认0
#   0=off (default)
#   1=W
#   2=R
#   3=both
#   7=W+some reads
#oplog = 0

# 是否打开动态调试项,默认false
#nocursors = true

# 忽略查询提示,默认false
#nohints = true

# 禁用http界面,默认为localhost:28017
#nohttpinterface = true

# 关闭服务器端脚本,这将极大的限制功能,默认false
#noscripting = true

# 关闭扫描表,任何查询将会是扫描失败
#notablescan = true

# 关闭数据文件预分配
#noprealloc = true

# 为新数据库指定.ns文件的大小,单位:MB
# nssize = <size>

# 用于Mongo监控服务器的Accout token。
#mms-token = <token>

# Mongo监控服务器的服务器名称。
#mms-name = <server-name>

# Mongo监控服务器的Ping间隔时间,即心跳
#mms-interval = <seconds>

# Replication Options

# 设置主从复制参数
#slave = true # 设置从节点
#source = master.example.com # 指定从节点的主节点
# Slave only: 指定要复制的单个数据库
#only = master.example.com
# or
#master = true # 设置主节点
#source = slave.example.com 

# 设置副本集的名字,所有的实例指定相同的名字属于一个副本集
replSet = name

#pairwith = <server:port>

# 仲裁服务器地址
#arbiter = <server:port>

# 默认为false,用于从实例设置。是否自动重新同步
#autoresync = true

# 指定的复制操作日志(OPLOG)的最大大小
#oplogSize = <MB>

# 限制复制操作的内存使用
#opIdMem = <bytes>

# 设置ssl认证
# Enable SSL on normal ports
#sslOnNormalPorts = true

# SSL Key file and password
#sslPEMKeyFile = /etc/ssl/mongodb.pem
#sslPEMKeyPassword = pass

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/899957.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何禁止上班期间浏览无关网站?

禁止员工在上班期间浏览无关网页主要是为了提升工作效率和生产力&#xff0c;确保员工能够专注于工作任务。同时&#xff0c;这种做法有助于降低网络安全风险&#xff0c;防止恶意软件和钓鱼攻击&#xff0c;减少数据泄露和法律风险&#xff0c;维护公司的专业形象&#xff0c;…

数据结构深度优先搜索遍历连通图+非连通图(C语言代码+遍历+终端输入内容)

首先数据结构(C语言版第二版)的关于深度优先搜索遍历连通图的图G4如下: 使用邻接表去创建上面这个无向图&#xff0c;然后再使用书本DFS函数以及DFSTraverse函数实现深度优先搜索遍历 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #…

微调大模型-2-Qwen基座模型使用

下载Qwen源码 Qwen作为中文支持非常nice的模型&#xff0c;很适合用于LLM学习。在云服务器里clone Qwen工程。 git clone https://github.com/QwenLM/Qwen2.5.git原始模型使用主要基于cli_demo.py-命令行调用&#xff0c;web_demo.py-网页调用。 预览这两个文件时&#xff0c…

Python | Leetcode Python题解之第497题非重叠矩形中的随机点

题目&#xff1a; 题解&#xff1a; class Solution:def __init__(self, rects: List[List[int]]):self.rects rectsself.sum [0]for a, b, x, y in rects:self.sum.append(self.sum[-1] (x - a 1) * (y - b 1))def pick(self) -> List[int]:k randrange(self.sum[-1…

vue3移动端可同时上传照片和视频的组件

uni-app中的uni-file-picker可单独上传照片或视频&#xff0c;但不支持同时上传照片和视频。本篇博客使用image标签和video标签实现移动端&#xff08;H5app小程序&#xff09;中照片和视频的同时上传。 本篇博客采用的是照片和视频的单独上传&#xff0c;但可同时展示&#xf…

Qt(简介)

1. Qt简介 Qt是一个基于C的图形用户界面&#xff08;GUI&#xff09;框架&#xff0c;可以开发可视化人机交互程序&#xff0c;但是这并不是Qt的全部。Qt除了可以绘制漂亮的界面外&#xff0c;还包含很多其他的功能&#xff1a;多线程、数据库、图像处理、音视频处理、网络通信…

后台管理员登录实现--系统篇

我的小系统后台原来就有一个上传图片的功能还夹带个删除图片的功能&#xff0c;还嵌到了一个菜单里面。之前效果如下 那么现在为了加大安全力度&#xff0c;想增加一个登录页面。通过登录再到这个页面。看着貌似很简单&#xff0c;但是听我细细说来&#xff0c;要新增些什么东西…

MySQL-视图 (ಥ_ಥ)

文本目录&#xff1a; ❄️一、什么是视图&#xff1a; ❄️二、创建视图&#xff1a; ❄️三、使用视图&#xff1a; ❄️四、修改数据&#xff1a; 1、注意事项&#xff1a; ❄️五、删除视图&#xff1a; ❄️六、视图的优点&#xff1a; ❄️总结&#xff1a; 对于这…

HT7179 26.8V,15A高效升压转换器

1、特征 输入电压范围:2.7V-25V 输出电压范围:最高26.8V 固定开关频率:350kHz 可编程峰值电流:最高15A 高转换效率1 95% (PVIN 12V, VOUT25V, IOUT 2A) 94%(PVIN 12V, VOUT25V, IOUT 4.5A) 93%(PVIN 7.2V, VOUT12V, IOUT 1.5A) 90% (PVIN 7.2V, VOUT12V, IOUT 5A) 96%(PVIN…

Perl打印9x9乘法口诀

本章教程主要介绍如何用Perl打印9x9乘法口诀。 一、程序代码 1、写法① use strict; # 启用严格模式&#xff0c;帮助捕捉变量声明等错误 use warnings; # 启用警告&#xff0c;帮助发现潜在问题# 遍历 1 到 9 的数字 for my $i (1..9) {# 对于每个 $i&#xff0c;遍历 1…

MoCoOp: Mixture of Prompt Learning for Vision Language Models

文章汇总 当前的问题 1)数据集风格变化。 如图1所示&#xff0c;对于一个数据集&#xff0c;单个软提示可能不足以捕获数据中呈现的各种样式。同一数据集中的不同实例可能与不同的提示符兼容。因此&#xff0c;更**自然的做法是使用多个提示来充分表示这些变化**。 2)过拟合…

V4L2驱动框架

文章目录 一、V4L2简介二、v4l2驱动关键组件&#xff08;一&#xff09;video_device结构体v4l2操作方法结构体v4l2的ioctl操作方法结构体 &#xff08;二&#xff09;v4l2_device结构体 一、V4L2简介 V4L2&#xff0c;即Video for Linux two&#xff0c;是Linux内核中用于视频…

qt项目使用其他项目的ui之单继承之成员变量

第一步添加.ui文件 第二步&#xff0c;点击编译(原理&#xff1a;qt的uic会将.ui界面编译成c文件) 第三步&#xff1a;在编译后的目录下找到#include “ui_pagewidget.h” 第四步&#xff1a; #ifndef USA_H #define USA_H#include <QWidget>#include "ui_pagew…

设计模式概览

设计模式是一种解决常见编程问题的经验总结&#xff0c;提供了代码的可重用性、可扩展性和可维护性。常见的设计模式有23个&#xff0c;主要分为三大类&#xff1a;创建型模式、结构型模式和行为型模式。下面是这三类设计模式的详细分类和讲解&#xff1a; 一、创建型模式 创建…

记一个src中危-图像大小与请求参数可修改

记一个src中危-图像大小与请求参数可修改 漏洞描述 服务器生成了一个具有客户端指定尺寸的图像&#xff0c;如果未实施任何限制&#xff0c;则可能导致拒绝服务攻击。 漏洞危害 攻击者不需要在此类攻击中投入资源&#xff0c;但服务器可能会分配所需的像素缓冲区&#xff0…

rk3588_DRM_显示

DRM简介&#xff08;Direct Rendering Manager&#xff09; hdmi 查看hdmir接口状态 cat /sys/class/drm/card0-HDMI-A-2/statusconnected 参考文章 rk3588_dp调试_rk3588 dp接口适配-CSDN博客

十六、【智能体】如何高效利用智能体知识库:打造智能助理的核心支撑

“知识库” 节点可以理解为一个集中存储和管理知识的地方。 就像一个装满各种工具和资源的工具箱&#xff0c;它包含了大量的信息、数据、文档、经验总结等各种知识内容。 为我们提供了一个便捷的途径来获取所需的知识&#xff0c;以解决问题、做出决策或者进行学习和研究。 …

Windows无法打开组策略 | Windows家庭版如何添加和打开组策略

什么是组策略&#xff08;Group Policy&#xff09;&#xff1f; 组策略 是微软Windows操作系统中的一个重要功能&#xff0c;它允许系统管理员通过统一的界面集中配置计算机和用户设置。 组策略设置是通过编辑“组策略对象”&#xff08;GPOs&#xff09;来实现的&#xff0c;…

攻坚金融关键业务系统,OceanBase亮相2024金融科技大会

10月15-16日&#xff0c;第六届中新数字金融应用博览会与2024金融科技大会&#xff08;简称“金博会”&#xff09;在苏州工业园区联合举办。此次大会融合了国家级重要金融科技资源——“中国金融科技大会”&#xff0c;围绕“赋能金融高质量发展&#xff0c;金融科技创新前行”…

Python 学习笔记(十二)—— 网络编程

目录 一、网络编程的基本概念 1.1 IP地址 1.1.1 IP的版本 1.1.2 IP的分类 1.1.2.1 公有地址 1.1.2.2 私有地址 1.1.3 IP地址的范围 1.1.4 回环测试 1.2 常见的网络设备 1.3 端口 1.3.1 端口分配 二、网络通信协议 2.1 常用网络协议 2.2 OSI网络协议七层模型 2.3…