当前位置: 首页 > news >正文

Centos7安装MongoDB7.xxNoSQL数据库|设置开机启动(骨灰级+保姆级)

一: mongodb下载

MongoDB 社区免费下载版

MongoDB社区下载版

[root@www tools]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-7.1.0-rc4.tgz

二: 解压到指定目录

[root@www tools]# mkdir -p /usr/local/mongodb

[root@www tools]#

tar -zxvf mongodb-linux-x86_64-rhel70-7.1.0-rc4.tgz -C /usr/local/mongodb/

三: 制作mongodb启动脚本

[root@www mongodb]# pwd
/usr/local/mongodb
[root@www mongodb]# ll
总用量 0
drwxr-xr-x 3 root root 100 10月  3 12:57 mongodb-linux-x86_64-rhel70-7.1.0-rc4
[root@www mongodb]# mv mongodb-linux-x86_64-rhel70-7.1.0-rc4  mongdb7
[root@www mongodb]# ll
总用量 0
drwxr-xr-x 3 root root 100 10月  3 12:57 mongdb7
[root@www mongodb]# cd mongdb7/


创建日志目录与数据存储目录

[root@www mongdb7]#

mkdir -p /usr/local/mongodb/mongdb7/data /usr/local/mongodb/mongdb7/log


创建mongodb.conf文件并赋值执行权限

[root@www mongdb7]# touch mongodb.conf

[root@www mongdb7]# chmod +x mongodb.conf 
[root@www mongdb7]# ll
总用量 176
drwxr-xr-x 2 root root     57 10月  3 12:57 bin
drwxr-xr-x 2 root root      6 10月  3 13:05 data
-rw-r--r-- 1 root root  30608 9月  28 08:48 LICENSE-Community.txt
drwxr-xr-x 2 root root      6 10月  3 13:05 log
-rwxr-xr-x 1 root root      0 10月  3 13:07 mongodb.conf
-rw-r--r-- 1 root root  16726 9月  28 08:48 MPL-2
-rw-r--r-- 1 root root   1978 9月  28 08:48 README
-rw-r--r-- 1 root root 121092 9月  28 08:48 THIRD-PARTY-NOTICES
 


mongodb.conf配置文件:


[root@www mongdb7]# cat mongodb.conf 
dbpath=/usr/local/mongodb/mongdb7/data/  
logpath=/usr/local/mongodb/mongdb7/log/mongodb.log 
pidfilepath=/usr/local/mongodb/mongdb7/bin/mongodb.pid  
directoryperdb=true  
logappend=true  
bind_ip=192.168.1.111
port=27017  

# 少了fork=true的配置,启动时连接超时,启动不了
fork=true  
 


启动脚本文件:


[root@www log]# cat  /lib/systemd/system/mongodb.service
[Unit]  

Description=mongodb   
After=network.target remote-fs.target nss-lookup.target  

[Service]  
Type=forking  
ExecStart=/usr/local/mongodb/mongdb7/bin/mongod --config  /usr/local/mongodb/mongdb7/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID  
ExecStop=/usr/local/mongodb/mongdb7/bin/mongod --shutdown --config  /usr/local/mongodb/mongdb7/mongodb.conf
PrivateTmp=true  

[Install]  
WantedBy=multi-user.target

 


三: 设置开机启动

# 设置开机启动

systemctl enable mongodb.service

#启动服务  
systemctl start mongodb.service    
#关闭服务    
systemctl stop mongodb.service    
#开机启动    
systemctl enable mongodb.service

# 重新启动状态

systemctl restart mongodb

# 查看启动状态

systemctl status mongodb

四: 启动并查看启动状态

[root@www mongdb7]# systemctl start mongodb
[root@www mongdb7]# systemctl status mongodb
mongodb.service - mongodb
   Loaded: loaded (/usr/lib/systemd/system/mongodb.service; enabled; vendor preset: disabled)
   Active: active (running) since 二 2023-10-03 13:41:38 CST; 3s ago
  Process: 3032 ExecStop=/usr/local/mongodb/mongdb7/bin/mongod --shutdown --config /usr/local/mongodb/mongdb7/mongodb.conf (code=exited, status=0/SUCCESS)
  Process: 3061 ExecStart=/usr/local/mongodb/mongdb7/bin/mongod --config /usr/local/mongodb/mongdb7/mongodb.conf (code=exited, status=0/SUCCESS)
 Main PID: 3063 (mongod)
    Tasks: 34
   CGroup: /system.slice/mongodb.service
           └─3063 /usr/local/mongodb/mongdb7/bin/mongod --config /usr/local/mongodb/mongdb7/mongodb.conf

10月 03 13:41:35 www.yhchange.com systemd[1]: Starting mongodb...
10月 03 13:41:35 www.yhchange.com mongod[3061]: about to fork child process, waiting until server is ready for connections.
10月 03 13:41:35 www.yhchange.com mongod[3061]: forked process: 3063
10月 03 13:41:38 www.yhchange.com mongod[3061]: child process started successfully, parent exiting
10月 03 13:41:38 www.yhchange.com systemd[1]: Started mongodb.



[root@www log]# ps aux | grep mongodb
root       2879  0.9  3.0 2711616 117232 ?      Sl   20:15   0:26 /usr/local/mongodb/mongdb7/bin/mongod --config /usr/local/mongodb/mongdb7/mongodb.conf
root       5501  0.0  0.0 112824   988 pts/0    S+   21:01   0:00 grep --color=auto mongodb
[root@www log]# netstat -lanp | grep 27017
tcp        0      0 192.168.1.111:27017     0.0.0.0:*               LISTEN      2879/mongod         
unix  2      [ ACC ]     STREAM     LISTENING     28020    2879/mongod          /tmp/mongodb-27017.sock
 

五: 拓展mongodb.conf配置文件

mongodb 3.0及以上版本基本都是使用 yaml 语法格式的配置文件, 启动 mongo 实例如果不是指定配置文件或参数命令启动, 会按照默认的参数启动。


journal=true

#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false

quiet=false

# 日志文件位置

logpath=/usr/local/mongodb/log/mongodb.log

# 以追加方式写入日志

logappend=true

#################################################


# 是否以守护进程方式运行

fork = true

# 默认27017

port = 27017

# 数据库文件位置

dbpath=/data/mongodata

###########################################################

# 启用定期记录CPU利用率和 I/O 等待

#cpu = true

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

#auth = true

#noauth = true

# 详细记录输出

#verbose = true

# Inspect all client data for validity on receipt (useful for

# developing drivers)用于开发驱动程序时验证客户端请求

#objcheck = true

# Enable db quota management

# 启用数据库配额管理

#quota = true

# 设置oplog记录等级

# Set oplogging level where n is

#   0=off (default)

#   1=W

#   2=R

#   3=both

#   7=W+some reads

#diaglog=0

# Diagnostic/debugging option 动态调试项

#nocursors = true

# Ignore query hints 忽略查询提示

#nohints = true

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

#nohttpinterface = true

# 关闭服务器端脚本,这将极大的限制功能

# Turns off server-side scripting.  This will result in greatly limited

# functionality

#noscripting = true

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

# Turns off table scans.  Any query that would do a table scan fails.

#notablescan = true

# 关闭数据文件预分配

# Disable data file preallocation.

#noprealloc = true

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

# Specify .ns file size for new databases.

# nssize = 

# Replication Options 复制选项

# in replicated mongo databases, specify the replica set name here

#replSet=setname

# maximum size in megabytes for replication operation log

#oplogSize=1024

# path to a key file storing authentication info for connections

# between replica set members

#指定存储身份验证信息的密钥文件的路径

#keyFile=/path/to/keyfile
————————配置文件详解————————

MongoDB各配置参数详细说明:

1、verbose:

日志信息冗余。默认false。提高内部报告标准输出或记录到logpath配置的日志文件中。要启用verbose或启用verbosity 用vvvv参数,

如:verbose = true

2.vvvv = true

ps:启动verbose冗长信息,它的级别有 vv~vvvvv,v越多级别越高,在日志文件中记录的信息越详细。

3、port:

端口。默认27017,MongoDB的默认服务TCP端口,监听客户端连接。要是端口设置小于1024,比如1021,则需要root权限启动,不能用 mongodb帐号启动,(普通帐号即使是27017也起不来)否则报错:[mongo --port=1021 连接]

ERROR: listen(): bind() failed errno:13 Permission denied for socket: 127.0.0.1:1021

如:port = 27017

4、bind_ip:

绑定地址。默认127.0.0.1,只能通过本地连接。进程绑定和监听来自这个地址上的应用连接。要是需要给其他服务器连接,则需要注释掉这个或则 把IP改成本机地址,如192.168.200.201[其他服务器用 mongo --host=192.168.200.201 连接] ,

可以用一个逗号分隔的列表绑定多个IP地址。

如:bind_ip = 127.0.0.1

5、maxConns:

最大连接数。默认值:取决于系统(即的ulimit和文件描述符)限制。MongoDB中不会限制其自身的连接。当设置大于系统的限制,则无效,以系 统限制为准。这对于客户端创建很多“表”,允许连接超时而不关闭“表”的时候很有用。

设置该值的高于连接池和总连接数的大小,以防止尖峰时 候的连接。注意:不能设置该值大于20000。

如:maxConns = 100

6、objcheck:

强制验证客户端请求。2.4的默认设置为objcheck成为true,在早期版本objcheck默认为false。因为它强制验证客户端请求,确保客户端绝不插入无 效文件到数据库中。对于嵌套文档的对象,会有一点性能影响。设置noobjcheck 关闭。

如:objcheck = true

7、noobjcheck:

同上,默认关闭false。

如:noobjcheck = false

8、logpath:

指定日志文件,该文件将保存所有的日志记录、诊断信息。除非另有指定,mongod将所有的日志信息输出到标准输出。如果没有指定logappend, 重启则日志会进行覆盖操作。

如:logpath=/var/log/mongodb/mongodb.log

9、logappend:写日志的模式:设置为true为追加。默认是覆盖。如果未指定此设置,启动时MongoDB的将覆盖现有的日志文件。

如:logappend=true

10、syslog:日志输出都发送到主机的syslog系统,而不是标准输出到logpath指定日志文件。syslog和logpath不能一起用,会报错:Cant use both a logpath and syslog

如:syslog  = true

11、pidfilepath:

进程ID,没有指定则启动时候就没有PID文件。默认缺省。

如:pidfilepath = /var/run/mongo.pid

12、keyFile:
指定存储身份验证信息的密钥文件的路径。默认缺省。详情见:"
word-spacing: 0px; display: inline; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; background- color: #ffffff; 

-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Replica Set Security" and “Replica Set Administration.”
如:.keyFile = /srv/mongodb/keyfile


14、fork:

是否后台运行,设置为true 启动 进程在后台运行的守护进程模式。默认false。

如:fork = true

15、auth:

用户认证,默认false。不需要认证。当设置为true时候,进入数据库需要auth验证,当数据库里没有用户,则不需要验证也可以操作。直到创建了第一个用户,之后操作都需要验证。

比如:通过db.addUser('sa','sa')  在admin库下面创建一个超级用户,只能在在admin库下面先认证完毕了:ab.auth('sa','sa') ,才能去别的库操作,不能在其他库验证。这样连接数据库也需要指定库:

1.mongo -usa -psa admin     #sa 帐号连接admin

1.mongo -uaa -paa test      #aa 帐号连接test

如:auth = true
 


 关于mongodb优化|在实际中探究吧


相关文章:

Centos7安装MongoDB7.xxNoSQL数据库|设置开机启动(骨灰级+保姆级)

一: mongodb下载 MongoDB 社区免费下载版 MongoDB社区下载版 [rootwww tools]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-7.1.0-rc4.tgz 二: 解压到指定目录 [rootwww tools]# mkdir -p /usr/local/mongodb [rootwww tools]# tar -zxvf mongodb-…...

JDK、JRE、JVM三者之间的关系

1.JDK 基本介绍 1) JDK 的全称 (Java Development Kit Java 开发工具包 ) JDK JRE java 的开发工具 [java, javac,javadoc,javap 等 ] 2) JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE 。所以安装了 JDK ,就…...

【ppt技巧】批量修改ppt中的字体

PPT文件中的字体想要全部更换,有什么方便的方法吗?今天分享两个方法,一键修改ppt文件字体。 方法一: 找到功能栏中的编辑选项卡,点击替换 – 替换字体,在里面选择我们想要替换的字体就可以了。 方法二&am…...

RustDay01——运行在线GitHub Rust环境

1.跟着教程进入GitHub教室 2. 授权确认后进入学习空间 3.点击链接进入在线平台 4.添加本机密钥对到GitHub 5. 安装依赖 我们使用在线的Linux试验平台,就自动帮我们clone好了仓库 我们直接在仓库目录执行 cargo install --force --path . 安装依赖 PS:其实刚开始…...

上门按摩小程序|同城上门按摩软件开发|上门按摩系统;

上门按摩小程序的开发具有许多优势,下面就给大家介绍下按摩小程序功能: 上门按摩小程序的优势 方便快捷:上门按摩小程序提供在线预约服务,用户可以通过手机随时随地预约按摩师上门服务,避免了传统预约方式的繁琐和不确定性。 个性…...

rpm安装mysql8后碰到的问题

1 mysqld 无法启动 原因 已经使用了3306端口,修改my.cnf中端口为3308 2 修改为3308端口后,还是无法启动, 2023-10-07T02:20:10.096689Z 0 [ERROR] [MY-010262] [Server] Cant start server: Bind on TCP/IP port: Permission denied 2023…...

Linux 磁盘管理+实例

目录 一、文件系统 二、添加磁盘 三、查看磁盘信息(块设备) 四、分区 1、格式 1)MBR分区 2)GPT分区 2、管理分区 1)使用fdisk 2)使用gdisk 3)使用parted a.交互式 b.非交互式 3、…...

MongoDB——centOS7安装mongodb5.0.21版本服务端(图解版)

目录 一、mongodb官网下载地址二、安装步骤2.1、上传安装包并解压2.2、配置环境变量2.3、创建目录并授权2.4、创建配置文件2.5、启动MongoDB 三、开放端口四、客户端连接 一、mongodb官网下载地址 mongodb官网下载地址:https://www.mongodb.com/try/download/commu…...

C#实现OPC DA转OPC UA服务器

运行软件前提前安装好OPC运行组件: 为方便演示,提前准备好了一个DAServer服务器: 接下来开始配置: 该软件主要实现的功能如下: 配置过程也相对简单: 第一步: 编辑如下文件: 第二步…...

TCP/IP网络协议通信函数接口

创建套接字函数 socket 【头文件】 #include <sys/types.h> #include <sys/socket.h> 【函数原型】 int socket(int domain, int type, int protocol); 【函数功能】 socket 函数创建一个通信端点&#xff0c;并返回一个引用该端点的文件描述符&#xff0c;…...

go语言判断管道是否关闭的误区

前言 本文是探讨的是"在Go语言中&#xff0c;我们是否可以使用读取管道时的第二个返回值来判断管道是否关闭?" 样例 在Go语言中&#xff0c;我们是否可以使用读取管道时的第二个返回值来判断管道是否关闭? 可以看下面的代码 package mainimport "fmt"…...

如何轻松使用 ChatGPT 进行论文大纲和创作

ChatGPT能够编写复杂的代码、博客文章等&#xff0c;它可以帮助我们做很多事情。今天本篇文章分享的主要内容如何利用 ChatGPT 来撰写论文文章。下面会介绍如何轻松使用 ChatGPT 进行论文大纲和创作&#xff01; 1、使用 ChatGPT 确定主题 文章非常重要的一个部分就是主题。如…...

【深蓝学院】手写VIO第6章--视觉前端--笔记

第5章相关内容&#xff0c;还是CSDN的传统Markdown编辑器好用。 视觉前段在14讲课程中已经讲过&#xff0c;这里再简单复习一下。 1. 前端工作的定性比较&#xff0c;分析 这一节讲了很多关于前端的方法框架的对比讨论&#xff0c;后面看完了相关的论文之后强烈建议再回来听一…...

用例图 UML从入门到放弃系列之三

1.说明 关于用例图&#xff0c;这篇文章我将直接照搬罗伯特.C.马丁老爷子在《敏捷开发》一书种的第17章&#xff0c;并配上自己的理解&#xff0c;因为这一章写的实在是太精彩了&#xff0c;希望能够分享给大家&#xff0c;共勉。以下是老爷子的原文中文翻译以及豆芽的个人解读…...

NLP大模型

大模型 1、大模型的模型结构 一般指一亿参数以上的模型。 目前以Transformer为基础自回归生成大致可以分为三种架构: Encoder-only的模型,如BERT Encoder-Decoder的模型,如T5。 Decoder-Only的模型,如GPT系列。...

Python- 将一个字符串列表连接成一个单独的字符串

Python中一个常用的技巧&#xff1a;将一个字符串列表连接成一个单独的字符串。 ,.join(list) 是使用Python的 str.join() 方法。 详细解析&#xff1a; join() 方法: 是一个字符串方法&#xff0c;意味着在一个字符串上调用它。它需要一个参数&#xff0c;通常是一个列表或任…...

深眸科技自研AI视觉分拣系统,实现物流行业无序分拣场景智慧应用

在机器视觉应用环节中&#xff0c;物体分拣是建立在识别、检测之后的一个环节&#xff0c;通过机器视觉系统对图像进行处理&#xff0c;并结合机械臂的使用实现产品分类。 通过引入视觉分拣技术&#xff0c;不仅可以实现自动化作业&#xff0c;还能提高生产线的生产效率和准确…...

吴恩达《微调大型语言模型》笔记

微调&#xff08;fine-tuning&#xff09;就是利用特有数据和技巧将通用模型转换为能执行具体任务的一种方式。例如&#xff0c;将 GPT-3 这种通用模型转换为诸如 ChatGPT 这样的专门用于聊天的模型。或者将 GPT-4 转换为诸如 GitHub Coplot 这样的专门用于写代码的模型。 这里…...

Java中的Servlet

Java中的Servlet 在Java中&#xff0c;Servlet是一种用于处理Web请求的服务器端组件。Servlet生命周期是Servlet在运行时所经历的一系列阶段&#xff0c;每个阶段都调用特定的方法。以下是Servlet生命周期内调用的方法过程&#xff1a; 初始化阶段&#xff08;Initialization&…...

Flutter配置Android SDK路径

在使用VSCode作为开发Flutter的工具时&#xff0c;当选择调试设备时&#xff0c;通常看不到android的模拟器&#xff0c;只能看到Chrome之类的。 原因就是Flutter找不到Android的SDK路径&#xff0c;所以无法识别模拟器&#xff0c;我们用flutter doctor命令检查环境时&#xf…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

热烈祝贺埃文科技正式加入可信数据空间发展联盟

2025年4月29日&#xff0c;在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上&#xff0c;可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞&#xff0c;强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用&#xff08;Math::max&#xff09; 2 函数接口…...

数据库——redis

一、Redis 介绍 1. 概述 Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的、高性能的内存键值数据库系统&#xff0c;具有以下核心特点&#xff1a; 内存存储架构&#xff1a;数据主要存储在内存中&#xff0c;提供微秒级的读写响应 多数据结构支持&…...

C++11 constexpr和字面类型:从入门到精通

文章目录 引言一、constexpr的基本概念与使用1.1 constexpr的定义与作用1.2 constexpr变量1.3 constexpr函数1.4 constexpr在类构造函数中的应用1.5 constexpr的优势 二、字面类型的基本概念与使用2.1 字面类型的定义与作用2.2 字面类型的应用场景2.2.1 常量定义2.2.2 模板参数…...

HTML版英语学习系统

HTML版英语学习系统 这是一个完全免费、无需安装、功能完整的英语学习工具&#xff0c;使用HTML CSS JavaScript实现。 功能 文本朗读练习 - 输入英文文章&#xff0c;系统朗读帮助练习听力和发音&#xff0c;适合跟读练习&#xff0c;模仿学习&#xff1b;实时词典查询 - 双…...

C/Python/Go示例 | Socket Programing与RPC

Socket Programming介绍 Computer networking这个领域围绕着两台电脑或者同一台电脑内的不同进程之间的数据传输和信息交流&#xff0c;会涉及到许多有意思的话题&#xff0c;诸如怎么确保对方能收到信息&#xff0c;怎么应对数据丢失、被污染或者顺序混乱&#xff0c;怎么提高…...