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优化|在实际中探究吧


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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

选择适合普通公司的项目管理软件

不管是打工人还是学生党都适合使用Zoho Projects项目管理软件。利用项目概览功能,将整体项目尽收眼底,作为项目管理者,项目日程、进度都可见,Zoho Projects项目管理APP助推项目每一环节的进展,更便于管理者设计项目的下…

ThingsBoard如何自定义tcp-transport

1、概述 很久没有更新了,一直忙于其他的事情,最近去搞了一个在ThingsBoard中自定义一个tcp-transport,用于连接使用tcp长连接的设备,目前使用tcp和mqtt协议连接服务端的设备还是很多,ThingsBoard的PE版提供了Integration是可以实现tcp的接入,但是CE版是没有提供接入tcp长…

【MySQL】基本查询(二)

文章目录 一. 结果排序二. 筛选分页结果三. Update四. Delete五. 截断表六. 插入查询结果结束语 操作如下表 //创建表结构 mysql> create table exam_result(-> id int unsigned primary key auto_increment,-> name varchar(20) not null comment 同学姓名,-> chi…

IO 之 操作properties属性文件

propreties文件: properties文件是一种用于存储配置信息的文本文件,通常以“.properties”为文件扩展名。它是一种简单的键值对格式,用于保存应用程序的配置参数。 在properties文件中,每一行都包含一个键值对,键和值…

HTTPS工作过程,国家为什么让http为什么要换成https,Tomcat在MAC M1电脑如何安装,Tomcat的详细介绍

目录 引言 一、HTTPS工作过程 二、Tomcat 在访达中找到下载好的Tomcat文件夹(这个要求按顺序) zsh: permission denied TOMCAT的各部分含义: 引言 在密码中一般是:明文密钥->密文(加密) &#xff…

Spring源码解析——IOC属性填充

正文 doCreateBean() 主要用于完成 bean 的创建和初始化工作,我们可以将其分为四个过程: 最全面的Java面试网站 createBeanInstance() 实例化 beanpopulateBean() 属性填充循环依赖的处理initializeBean() 初始化 bean 第一个过程实例化 bean在前面一篇…

复旦大学EMBA:揭秘科创企业,领略未来战略!

智能制造,国之重器。作为制造强国建设的主攻方向,智能制造的发展水平关系到我国未来制造业在全球的地位与影响力。发展智能制造,是加快建设现代化产业体系的重要手段,提升供给体系适配性的有力抓手,也是建设数字中国的…

【C++设计模式之状态模式:行为型】分析及示例

简介 状态模式(State Pattern)是一种行为型设计模式,它允许对象在内部状态改变时改变其行为,看起来就像是改变了其类。状态模式将对象的状态封装成不同的类,并使得对象在不同状态下有不同的行为。 描述 状态模式通过…

Android用户登录与数据存储:从权限请求到内外部存储的完整实践【完整实践步骤、外部存储、内部存储】

步骤 1: 登录页面布局 在 MainActivity 中实现用户登录功能&#xff0c;首先创建一个布局文件 activity_main.xml 包含用户名和密码的输入字段以及登录按钮。 <!-- activity_main.xml --> <LinearLayoutxmlns:android"http://schemas.android.com/apk/res/andr…

Qt之实现圆形进度条

在Qt自带的控件中&#xff0c;只有垂直进度条、水平进度条两种。 在平时做页面开发时&#xff0c;有些时候会用到圆形进度条&#xff0c;比如说&#xff1a;下载某个文件的下载进度。 展示效果&#xff0c;如下图所示&#xff1a; 实现这个功能主要由以下几个重点&#xff1a…

记录vue开发实例

封装的表格组件 <template><div><div style"width: 100%" v-if"showList"><el-table v-loading.lock"loading" :data"dataList":header-cell-style"{background: #F2FCFE,fontSize: 14px,color: #50606D}&…

因为在此系统上禁止运行脚本

问题&#xff1a; 解决办法&#xff1a; vue项目搭建中"因为在此系统上禁止运行脚本"报错&#xff0c;解决方法 - 你的剧本 - 博客园 (cnblogs.com)

详解链表oJ<反转链表,链表的中间节点及链表的回文>

hello&#xff0c;大家好&#xff0c;这里是Dark FlameMaster,今天和大家分享的是有关数据结构链表的几道题目&#xff0c;链表的中间节点&#xff0c;反转链表及判断链表是否为回文结构&#xff0c;放在一起讲解会印象更加深刻。 文章目录 一&#xff0c;链表的中间节点二&…

从0到1基于ChatGLM-6B使用LoRA进行参数高效微调

从0到1基于ChatGLM-6B使用LoRA进行参数高效微调 吃果冻不吐果冻皮 ​ 关注他 cliniNLPer 等 189 人赞同了该文章 ​ 目录 收起 ChatGLM-6B简介 具备的一些能力 局限性 LoRA 技术原理 环境搭建 数据集准备 数据预处理 参数高效微调 单卡模式模型训练 数据并行模式模型训练 模型推…

自动驾驶学习笔记(二)——Apollo入门

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《2023星火培训【感知专项营】》免费课程—>传送门 文章目录 前言 Ubuntu Linux文件系统 Linux指令…

水波纹文字效果动画

效果展示 CSS 知识点 text-shadow 属性绘制立体文字clip-path 属性来绘制水波纹 工具网站 CSS clip-path maker 效果编辑器 页面整体结构实现 使用多个 H2 标签来实现水波纹的效果实现&#xff0c;然后使用clip-path结合动画属性一起来进行波浪的起伏动画实现。 <div …

5分钟理解什么是卷积的特征提取

大家好啊&#xff0c;我是董董灿。 卷积算法之所以重要&#xff0c;关键在于其提取特征的能力。 5分钟入门卷积算法中提到&#xff0c;卷积模仿的就是人眼识图的过程&#xff0c;以“感受野”的视角去扫描图片&#xff0c;从而获取不同区域的图片信息。 在这一过程中&#x…

新风机注意事项有哪些?

选择和使用新风机时&#xff0c;有几个关键注意事项需要牢记&#xff1a; 安装位置&#xff1a;新风机的安装位置很重要。通常情况下&#xff0c;应将其安装在室外以避免室内产生噪音和减少室内的体积占据。确保选择合适的安装位置&#xff0c;以便新风机能够顺利引入新鲜空气。…

《从零开始学ARM》勘误

1. 50页 2 51页 3 236页 14.2.3 mkU-Boot 修改为&#xff1a; mkuboot 4 56页 修改为&#xff1a; 位[31&#xff1a;24]为条件标志位域&#xff0c;用f表示&#xff1b; 位[23&#xff1a;16]为状态位域&#xff0c;用s表示&#xff1b; 位[15&#xff1a;8]为扩展位域&…