前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【赵渝强老师】管理MongoDB的运行

【赵渝强老师】管理MongoDB的运行

原创
作者头像
赵渝强老师
发布于 2025-03-08 01:04:41
发布于 2025-03-08 01:04:41
12330
代码可运行
举报
文章被收录于专栏:NoSQL数据库NoSQL数据库
运行总次数:0
代码可运行

MongoDB提供了mongod命令用于启动MongoDB服务器端;而停止MongoDB服务器却可以通过几种不同的方式完成。下面分别进行介绍。

一、【实战】启动MongoDB服务器

通过执行下面的语句可以查看启动MongoDB服务器的帮助信息:

代码语言:powershell
AI代码解释
复制
mongod --help

# 输出的信息如下:
......
Storage options:
  --storageEngine arg	What storage engine to use - defaults 
                        to wiredTiger if no data files present
  --dbpath arg			Directory for datafiles - defaults to 
                        /data/db
  --directoryperdb      Each database will be stored in a 
                        separate directory
......

MongoDB除了可以将启动的配置参数写入配置文件以外,还可以直接写到mongod的启动命令中。视频讲解如下:

下面通过具体的步骤来进行演示。

(1)创建一个新的目录/data/db2用于存放MongoDB数据文件。

代码语言:powershell
AI代码解释
复制
mkdir -p /data/db2

(2)使用mongod命令启动MongoDB服务器。

代码语言:powershell
AI代码解释
复制
mongod --dbpath /data/db2/ --port 1234 --fork \
--logpath /data/db2/db2.log --directoryperdb

# 其中:
# --port:指定MongoDB监听的端口。
# --fork:指定MongoDB服务器将运行在后台。
# --logpath:指定MongoDB输出的日志文件。
# --directoryperdb:指定将不同的数据库存放在单独的目录下以方便管理。

# 输出的信息如下:
about to fork child process, waiting until server is ready for connections.
forked process: 28215
child process started successfully, parent exiting

(3)使用mongoshell登录MongoDB,并创建一个新的数据库和集合。

代码语言:powershell
AI代码解释
复制
mongo --port 1234
> use demo
> db.test1.insert({_id:'user001',name:'Tom'})

(4)查看目录/data/db2下的目录和文件。

代码语言:powershell
AI代码解释
复制
tree /data/db2

# 输出的信息如下:
/data/db2
├── admin
│   ├── collection-0--1928158110699126729.wt
│   └── index-1--1928158110699126729.wt
├── config
│   ├── collection-4--1928158110699126729.wt
│   ├── index-5--1928158110699126729.wt
│   └── index-6--1928158110699126729.wt
├── db2.log
├── demo
│   ├── collection-7--1928158110699126729.wt
│   └── index-8--1928158110699126729.wt
├── diagnostic.data
│   ├── metrics.2022-04-05T07-48-58Z-00000
│   └── metrics.interim
├── journal
│   ├── WiredTigerLog.0000000001
│   ├── WiredTigerPreplog.0000000001
│   └── WiredTigerPreplog.0000000002
├── local
│   ├── collection-2--1928158110699126729.wt
│   └── index-3--1928158110699126729.wt
├── _mdb_catalog.wt
......

# 提示:由于在启动MongoDB服务器时使用了--directoryperdb参数,
# 因此在第(3)步中创建的demo数据库将单独存放一个目录。

二、【实战】停止MongoDB服务器

停止MongoDB数据库服务器可以通过三种不同的方式来完成。视频讲解如下:

下面通过具体的示例来进行演示。

(方式1)在MongoDB服务器上执行shutdownServer命令时。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> use admin
> db.shutdownServer()

# 提示:使用shutdownServer关闭数据库服务器,MongoDB会在关闭前先等待
# MongoDB集群中的从节点与主节点保持同步,这会将数据回滚的可能性降到最低。

(方式2)使用命令db.adminCommand强制关闭主节点。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> db.adminCommand({"shutdown":1,"force":true})

# 这时会打印下面的错误信息,该信息表示数据库已经停止。
uncaught exception: Error: error doing query: failed: 
network error while attempting to run command 'shutdown' on host '127.0.0.1:1234'  :
DB.prototype.runCommand@src/mongo/shell/db.js:188:19
DB.prototype.adminCommand@src/mongo/shell/db.js:200:12
@(shell):1:1

(方式3)使用操作系统的kill命令关闭MongoDB服务器。

代码语言:powershell
AI代码解释
复制
kill -2 PID
# 其中:PID是MongoDB的服务器进程号。

以上三种方式都能够安全地停止MongoDB的运行。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
3 条评论
热度
最新
大佬,我想问能不能做到uniapp编译的时候自动让他去执行不进行手动调用node router/build.js
大佬,我想问能不能做到uniapp编译的时候自动让他去执行不进行手动调用node router/build.js
回复回复点赞举报
您好,想请问下uni-app运行成微信小程序,就是好几个小程序公用一套代码,想动态控制pages.json,不同小程序加载不同分包,这个怎么实现呢?
您好,想请问下uni-app运行成微信小程序,就是好几个小程序公用一套代码,想动态控制pages.json,不同小程序加载不同分包,这个怎么实现呢?
11点赞举报
不太了解你的需求,但听你的描述,完全可以使用 git 开启不同的分支来实现你的需求。
不太了解你的需求,但听你的描述,完全可以使用 git 开启不同的分支来实现你的需求。
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
ServletContextListener作用[通俗易懂]
ServletContext 被 Servlet 程序用来与 Web 容器通信。例如写日志,转发请求。每一个 Web 应用程序含有一个Context,被Web应用内的各个程序共享。因为Context可以用来保存资源并且共享,所以我所知道的 ServletContext 的最大应用是Web缓存—-把不经常更改的内容读入内存,所以服务器响应请求的时候就不需要进行慢速的磁盘I/O了。
全栈程序员站长
2022/07/01
4190
ServletContextListener简单应用:统计访问人数
在Servlet API中有这样一个ServletContextListener接口,他能过监听servletContext的生命周期,也就是web应用的生命周期。 servletContextListener接口中定义了两个方法,分别用于监听web应用的创建和销毁,利用这两个方法可以完成对网站访问人数进行统计。 下面用一个实例来说明: 首先建一个InitListener.java,用来监听每一web应用的创建,其原理是这样的,每有一个用户访问该网站(jsp),服务器必定会启动一个web应用,可以通过继承servletContextListener来监听web的启动,从而统计来访人数。 InitListener.java:
the5fire
2019/02/28
1K0
JavaWeb-网站在线用户信息、网站访问量以及管理踢出用户实例
这个稍微比上个版本做得完善了一点,用了JavaBean来封装用户信息,添加了一个管理踢用户的功能。 上一个的用户访问量是通过监听request来统计的,在这个实例中,我们也可以通过过滤器来实现统计网站访问量。
谙忆
2021/01/21
3K0
JavaWeb-网站在线用户信息、网站访问量以及管理踢出用户实例
JavaWeb-Servlet技术的监听器-解析与实例-网站在线用户信息与网页点击量
在Web项目中,我们对下面这几个监听器必须熟练的使用,它们的作用真的很大。熟练的使用后,可以使我们少绕弯路,少写很多代码、
谙忆
2021/01/21
4340
JavaWeb-Servlet技术的监听器-解析与实例-网站在线用户信息与网页点击量
Java Servlet 做一个简单的分IP访问统计系统
本文由 Alone88 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 最后编辑时间为: Sep 16, 2019 at 08:40 am
Alone88
2019/10/22
5310
过滤器Filter精华知识点,怎能不看 ​
过滤器Filter 1 什么是过滤器 过滤器JavaWeb三大组件之一,它与Servlet很相似!不它过滤器是用来拦截请求的,而不是处理请求的。 当用户请求某个Servlet时,会先执行部署在这个请求
Java帮帮
2018/03/19
9770
过滤器Filter精华知识点,怎能不看 ​
ServletContextListener介绍「建议收藏」
在Servlet API中有一个ServletContextListener接口,它能够监听ServletContext对象的生命周期,实际上就是监听Web应用的生命周期。
全栈程序员站长
2022/07/01
1.1K0
java监听器从入门到放弃?
监听器就是实现一个特定接口的java程序,此程序专门用来监听另一个类方法的调用。java的awt大量的运用到了此种模式,例如可以给button对象添加一个点击事件,当鼠标点击时,就会调用事件处理程序。又如:在javascript事件中也运用到了此种模式,当用户点击鼠标时,会触发一个鼠标点击事件去调用程序员定义的事件处理程序。下面就以GUI编程来说明监听器。监听器都使用到了观察者模式,观察者模式所定义的对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖他的对象都会得到通知自动更新。
好好学java
2018/09/21
2.9K0
java监听器从入门到放弃?
ServletContext与Web应用以及Spring容器启动
Servlet容器在启动时会加载Web应用,并为每个Web应用创建唯一的ServletContext对象。
良月柒
2019/03/20
9100
ServletContext与Web应用以及Spring容器启动
Listener与Filter监听器基础使用
[TOC] 1.Listener 1) 基础介绍 Q:Listener是什么?有什么用? 答:Listener监听器,用于监听某一个事件的发生。 Q:监听器的内部机制是什么? 答:实就是接口回调,事件
全栈工程师修炼指南
2020/10/23
6140
Listener与Filter监听器基础使用
Web阶段:第十二章:JSP动态页面
作者:java_wxid **1.什么是Jsp?** jsp是java server page,java的服务器页面。 2.为什么要学习jsp技术 因为jsp技术可以很好的解决在Servlet程序中回
Java廖志伟
2022/09/28
8090
Web阶段:第十二章:JSP动态页面
JavaWeb中的异卵双胞胎——监听器与过滤器
监听器与过滤器 监听器 作用 使用 1、创建一个普通java类实现指定的接口 2、在web.xml进行配置,使其生效(放在dispalyname标签的上面) 监听器可以继承的的接口 1、ServletRequestListener 2、 ServletRequestAttributeListener 3、HttpSessionListener 4、HttpSessionAttributeListener 5、ServletContextListener 6、ServletContextAttributeL
时间静止不是简史
2020/07/26
3580
JavaWeb - Filter 和 Listener
Filter 本意为”过滤“的含义,是 JavaWeb 的三大组件之一,三大组件为:Servlet、Filter、Listener。
RendaZhang
2020/09/08
5680
JavaWeb - Filter 和 Listener
day17_Listener与Filter学习笔记
    事件:就是一个事情。     事件源:产生这个事情的源头。     监听器:用于监听指定的事件的对象。(关联事件和事件源)     注册监听:要想让监听器可以监听到事件产生,必须对其进行注册。
黑泽君
2018/10/11
4010
day17_Listener与Filter学习笔记
监听器第二篇【统计网站人数、自定义session扫描器、踢人小案例】
从第一篇已经讲解过了监听器的基本概念,以及Servlet各种的监听器。这篇博文主要讲解的是监听器的应用。 统计网站在线人数 分析 我们在网站中一般使用Session来标识某用户是否登陆了,如果登陆了,就在Session域中保存相对应的属性。如果没有登陆,那么Session的属性就应该为空。 现在,我们想要统计的是网站的在线人数。我们应该这样做:我们监听是否有新的Session创建了,如果新创建了Sesssion,那么在线人数就应该+1。这个在线人数是整个站点的,所以应该有Context对象保存。 大致思路:
Java3y
2018/03/15
8680
监听器第二篇【统计网站人数、自定义session扫描器、踢人小案例】
Servlet和JSP总结
##响应数据乱码 -为什么出现乱码,因为输出响应数据默认使用的是iso8859-1 需要把此编码改成utf-8
爱撒谎的男孩
2019/12/31
2.7K0
spring之如何在web应用中使用?
可以将IOC容器放在ServletContext(即applicaiton域)的一个属性中。
西西嘛呦
2020/08/26
4090
spring之如何在web应用中使用?
E022Web学习笔记-Filter和Listener
訾博ZiBo
2025/01/06
970
E022Web学习笔记-Filter和Listener
过滤器 & 监听器的学习
过滤器:Filter 1. 概述: * 生活照的过滤器:净水器、空气净化器、土匪 * web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。 * 过滤器的作用: * 一般用于完成通用的操作。 如:登录验证、统一编码处理 、敏感字符过滤 2. 步骤: 1.定义一个类,实现接口Filter 2.复写方法 3.配置拦截路径 1.web.xml 2.注解 package com.nlxj.web.filter; import javax.se
Rochester
2020/09/01
3730
Listener监听器
在Servlet技术中已经定义了一些事件,并且我们可以针对这些事件来编写相关的事件监听器,从而对事件作出相应处理。Servlet事件主要有3类:Servlet上下文事件、会话事件与请求事件。下面具体讲解这3类事件的监听器实现。 1.对Servlet上下文进行监听(就是JSP中的application) 可以监听ServletContext对象的创建和删除以及属性的添加、删除和修改等操作。该监听器需要使用到如下两个接口类: ● ServletContextAttributeListener:监听对Servle
汤高
2018/01/11
1.1K0
推荐阅读
相关推荐
ServletContextListener作用[通俗易懂]
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验