mongodb- 管理

MongoDB 管理工具 MongoDB 是一个流行的 NoSQL 数据库,它提供了灵活的数据模型、高吞吐量和自动伸缩等特性。为了更有效地管理和操作 MongoDB 数据库,有许多管理和开发工具可供选择。本文将介绍一些流行的 MongoDB 管理工具,包括它们的特性、优势和使用场景。 阅读详情

配置文件(外部配文件置):

mongod --config D:\mongodb\mongodb.config

 mongodb.config文件内容:

 port = 20000
dbpath = D:/mongodb/dbs
logpath = D:/mongodb/logs.log
logappend = true

正确停止MongoDB:

mongo -port 20000
use admin
db.shutdownServer();

安全认证:

  1.添加用户

   db.addUser(username, password,[ readOnly=false])

    [ readOnly=false]参数可选,如果为true,用户只有查询权限。

   admin数据库下面添加的用户  被视为超级用户(管理员)。

2.用户认证
 db.auth(username, password)

3.重启服务端,加入 --auth命令选项  开启安全检查

mongod --dbpath D:/mongodb/db  --port 20000 --logpath = D:/mongodb/logs.log --logappend --auth

 例子:

1. 添加一个超级用户:

a.添加用户

>mongo -port 20000
> use admin
switched to db admin
> db.addUser("admin","admin123");
{ "n" : 0, "connectionId" : 4, "err" : null, "ok" : 1 }
{
        "user" : "admin",
        "readOnly" : false,
        "pwd" : "6f09f2f35e3a5e225af66fe3868e4fb7",
        "_id" : ObjectId("50114eb027e4ae802c6bda45")
}
>

b.认证用户

> use admin
switched to db admin
> db.auth("admin","admin123");
1

c.重启服务端 加入--auth参数

登录后不能正常查询

>mongo --port 20000 test
MongoDB shell version: 2.0.4
connecting to: 127.0.0.1:20000/test
> db.test.find();
error: {
        "$err" : "unauthorized db:test lock type:-1 client:127.0.0.1",
        "code" : 10057
}
>

d.使用用户名 密码登录

>mongo --port 20000 admin  -u admin -p
MongoDB shell version: 2.0.4
Enter password:
connecting to: 127.0.0.1:20000/admin
> use test
switched to db test
> db.test.find();
>

2.添加一个普通用户

> use test
switched to db test
> db.addUser("abc","abc123");
{ "n" : 0, "connectionId" : 9, "err" : null, "ok" : 1 }
{
        "user" : "abc",
        "readOnly" : false,
        "pwd" : "30fc2d5cc077f71cc81d3c82afc9d361",
        "_id" : ObjectId("501157ed1d2319c203e2e8d3")
} 

认证:

> db.auth("abc","abc123");
1

用户名 密码登录

mongo --port 20000 test  -u abc -p
MongoDB shell version: 2.0.4
Enter password:
connecting to: 127.0.0.1:20000/test
> db.test.find();

查询用户

 db.system.users.find()

删除用户:

db.system.users.remove({user:"admin"});

限制ip访问:

使用--bindip 参数, 只能被--bindip参数指定的ip地址访问.

如:mongod --bindip localhost

数据文件备份:

>mongodump -port 20000 -d test -u admin -p-d test

备份的数据库名称会在当前目录下创建一个dump目录,用于存放备份出来的文件,当然也可以(-o)指定备份存放的目录。

mongodump -port 20000 -d test -o c:/ -u admin -p

mongodump --help 查看其他选项

数据恢复:

>mongorestore -port 20000 -d test --directoryperdb c:/test/  --drop -u admin -p

--directoryperdb指定备份的目录

--drop 恢复的时候先删除

例:

a,先删除test数据库

> use test;
switched to db test
> db.dropDatabase();
{ "dropped" : "test", "ok" : 1 }
> show dbs;
admin   0.03125GB
local   (empty)

b.恢复

mongorestore -port 20000 -d test --directoryperdb c:/test/  --drop -u admin -p

监控:

1.serverStatus命令

use admin
db.serverStatus();

db.serverStatus();
{
        "host" : "admin:20000",
        "version" : "2.0.4",
        "process" : "mongod",
        "uptime" : 16,
        "uptimeEstimate" : 14,
        "localTime" : ISODate("2012-07-26T13:26:38.375Z"),
        "globalLock" : {
                "totalTime" : 15421875,
                "lockTime" : 0,
                "ratio" : 0,
                "currentQueue" : {
                        "total" : 0,
                        "readers" : 0,
                        "writers" : 0
                },
                "activeClients" : {
                        "total" : 0,
                        "readers" : 0,
                        "writers" : 0
                }
        },
        "mem" : {
                "bits" : 32,
                "resident" : 15,
                "virtual" : 57,
                "supported" : true,
                "mapped" : 0
        },
        "connections" : {
                "current" : 1,
                "available" : 19999
        },
        "extra_info" : {
                "note" : "fields vary by platform",
                "page_faults" : 4032,
                "usagePageFileMB" : 19,
                "totalPageFileMB" : 3871,
                "availPageFileMB" : 2878,
                "ramMB" : 1977
        },
        "indexCounters" : {
                "note" : "not supported on this platform"
        },
        "backgroundFlushing" : {
                "flushes" : 0,
                "total_ms" : 0,
                "average_ms" : 0,
                "last_ms" : 0,
                "last_finished" : ISODate("1970-01-01T00:00:00Z")
        },
        "cursors" : {
                "totalOpen" : 0,
                "clientCursors_size" : 0,
                "timedOut" : 0
        },
        "network" : {
                "bytesIn" : 220,
                "bytesOut" : 261,
                "numRequests" : 3
        },
        "opcounters" : {
                "insert" : 0,
                "query" : 1,
                "update" : 0,
                "delete" : 0,
                "getmore" : 0,
                "command" : 4
        },
        "asserts" : {
                "regular" : 0,
                "warning" : 0,
                "msg" : 0,
                "user" : 0,
                "rollovers" : 0
        },
        "writeBacksQueued" : false,
        "ok" : 1

返回字段说明:  

uptime: 服务器运行时间(秒)。

localTime: 服务器本地时间。

mem: 服务器内存隐身了多少数据,服务器进程的虚拟内存和常驻内存占用情况(单位:MB)。

connections: 当前连接数。

opcounters: 操作统计。

globalLock:表示全局写入锁占用的服务器时间(单位:微妙) ;

backgroundFlushing: 表示后台做了多少次fsync以及用了多少时间。

asserts:统计断言的次数。

2.mongostat.exe

    bin目录下。 

MongoDB的用户管理总结 要添加用户,可使用MongoDB提供的db.createUser()方法。 添加用户时,可以为用户分配角色以授予权限。注意:在数据库中创建的第一个用户应该是具有管理其他用户的权限的用户管理员。还可以更新现有用户,例如更改密码并授予或撤销角色。添加用户时,可以在特定数据库中创建用户。该数据库是用户的认证的数据库。用户可以跨不同数据库拥有权限; 即用户的权限不限于认证数据库。 通过分配给其他数据库中的用户角色,在一个数据库中创建的用户可以拥有对其他数据库的操作权限。用户名和认证数据库作为该用户的唯一标识符。 也 阅读详情

相关推荐

TSEND_C指令错误代码解析与实战排错指南

本文详细解析西门子PLC中TSEND_C指令的常见错误代码,包括连接建立、参数配置、资源限制和网络通信等错误类型。针对错误代码80C4等典型问题提供实战排错指南,帮助工程师快速诊断和解决工业通信中的连接故障,提升系统可靠性。

backprop5master的博客 413

MongoDB安装和配置

官网下载5.0.3, 并安装. Windows下安装后并选择使用windows 服务来启动mongo服务. ====================================== 免密登录 ====================================== 初次登录,打开 mongo.exe 客户端, 不需要输入用户密码就能登录, 安全性不高, 后面介绍如何加上安全认证. 在...

诸葛建站 701

qemu(2) -- 定制开发板

向qemu源码中添加自定义开发板

xflm的博客 842

【MongoDB】db.serverStatus()

13.存储引擎TigerWire LSM合并树。统计信息可以查看各个对象数量,记录条数,大小等。2.启动时间,版本,机器名称,进程号。1.查看mongodb服务器状态。1.当前连接数,最大连接数。19.数据处理,检查点信息。22.会话信息 ,线程信息。10.存储引擎,隔离级别。11.tcp内存使用情况。21.文件系统读取延迟情况。8.读写各种操作的数量。2.查看集合的统计信息。5.逻辑会话缓存信息。

weixin_43346403的博客 909

ICLR 2025 | MambaPEFT: 探索针对Mamba的参数高效微调方法

通过利用海量数据构建大型模型,基于Transformer的模型生态系统已逐步确立。参数高效微调(PEFT)是一项至关重要的技术,它能以最低成本将这些模型应用于下游任务,同时实现高效的性能表现。最近,基于状态空间模型(SSM)的Mamba模型作为Transformer的潜在替代方案受到了广泛关注。尽管已经提出了许多基于Mamba的大规模模型,但如何高效地将预训练的Mamba模型应用于下游任务仍有待研究。在本文中,作者对适用于Mamba的PEFT方法展开了探索性分析。

小白学视觉 326

全志A133的AndroidSDK

本小节来学习如何下载全志安卓SDK,SDK的目录,编译和烧录提示:以下是本篇文章正文内容,下面案例可供参考以上就是整个SDK的目录和编译烧录,目的在于让初学者快速了解整个源码的目录和编译出镜像喜欢就订阅吧。

qq_24093081的博客 4054

mongodb笔记

1. 32位的MongoDB数据量受限于2.5GB,The reason for this is that the MongoDB storage engine uses memory-mapped files for performance. 所以推荐使用64-bit的MongoDB。 2. fsync时可以选择加上lock选项,此时所有的写操作将被阻塞,读操作仍然可用,但若此时有写操...

liuliliujian 193

用 SQL Trace 透视 SAP HANA 执行链路:从会话层到内部语句,一次把性能问题抓个现行

摘要:SAP HANA 的 SQL Trace 是性能分析和故障定位的关键工具,它记录会话层所有执行的 SQL 语句。文章解释了 SQL Trace 的工作原理、使用场景和配置方法,包括图形界面和 SQL 命令两种启用方式。重点讨论了存储过程内部语句的捕获问题,指出需要通过设置 internal 参数才能获取过程体中的详细 SQL 语句。文章还提供了实用的排查建议,强调要精准控制 Trace 范围,避免生成过大文件。最后通过真实案例展示了如何利用 SQL Trace 快速定位性能问题。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1042

mongodb内存映射原理

内存映射 mongodb非常吃内存,为啥这么吃内存呢,mongodb使用的是内存映射存储引擎,即Memory Mapped Storage Engine,简称MMAP,MMAP可以把磁盘文件的一部分或全部内容直接映射到内存,这样文件中的信息位置就会在内存中有对应的地址空间,把磁盘IO操作转换成内存操作。mapped:映射到内存的数据大小, vsize:虚拟内存,是mapped的2倍 这里...

maso88的专栏 6614

YOLOv8多传感器融合技术——摄像头阵列融合技术详解

本文详细介绍了基于YOLOv8的摄像头阵列融合技术,该技术通过多摄像头协同工作实现360度无死角环境感知。文章阐述了系统原理,包括全方位视野覆盖、冗余设计和深度感知等优势,并提供了完整的Python实现代码。关键技术涵盖多摄像头检测、立体匹配、3D投影和目标融合等模块,支持时间域融合提升稳定性。该系统可显著提高自动驾驶的环境感知能力,减少检测盲区,增强系统可靠性,是L4-L5级自动驾驶的关键技术之一。文章还展示了城市驾驶场景的实际应用,验证了该技术对复杂交通环境的适应能力。

u010117029的博客 213

基于STM32设计的物联网疫苗冷链物流监测系统

本设计基于物联网技术,开发了一套疫苗冷链物流环境监测系统。系统采用STM32F103C8T6作为主控芯片,集成SHT30温湿度传感器、震动传感器、GPS定位模块和4G通信模块,实现对运输环境的温度、湿度及震动状况的实时监测与控制。通过继电器驱动半导体制冷模块和加湿器,系统能够自动调节环境温湿度,保障疫苗运输的安全性。采集的环境数据通过MQTT协议上传至华为云物联网平台,配套开发的Android手机APP和Windows上位机软件基于Qt平台设计,支持远程实时查看环境数据和车辆定位,提升了疫苗冷链运输的智能化

863

MongoDB 用户管理

MongoDB安装完成后,数据库 admin 中没有任何用户账户。此时,MongoDB 向从本地主机发起的连接提供完整的数据库管理权限。用户管理员账户和数据库管理员账户都是在数据库 admin 中创建的。在 MongoDB 服务器中启用身份验证后,要以用户管理员或数据库管理员的身份连接到服务器,必须向 admin 数据库验证身份,您还需在每个数据库中创建用户账户,让这些用户能够访问该数据库。

qq_62866151的博客 1600

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

MongoDB管理

前几篇文章都是从开发和使用的角度了解了MongoDB的各个知识点,这篇文章将从MongoDB管理的角度入手,了解MongoDB管理所要了解的基本知识。 数据库命令 在前面几篇文章中,已经接触了一些数据库命令,例如文档、索引的操作。 在MongoDB shell中,可以使用runCommand()来传入并执行一个命令文档。例如 > db.runCommand({"getL...

164

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

部署MongoDB集群,用systemD管理MongoDB集群

部署MongoDB集群,用systemd管理集群

qq_41105107的博客 1390

【DB】MongoDB 安装及基于MongoDB Compass的数据管理

本文详细介绍了MongoDB的安装配置方法及基本使用指南。

正经教主是个热衷于正经学习分享的教主。 2334

【MongoDB 安全篇】MongoDB用户管理

目录 1 软件环境 2 用户管理 2.1 查看数据库用户信息 2.1.1 语法 2.1.2 示例 2.2 查看数据库所有用户信息 2.2.1 语法 2.2.2 示例 2.3 创建用户 2.3.1 语法 2.3.2 示例 2.4 修改密码 2.4.1 语法 2.4.2 示例 2.5 修改用户 2.5.1 语法 2.5.2 示例 2.6 删除用户 2.6.1 语法...

个人公众号:Alen的数据库学习笔记 992

mongodb用户管理

1.创建管理账号 mongodb安装好后第一次进入是不需要密码的,也没有任何用户。 在安装MongoDB之后,先关闭auth认证,启动服务端: 现在需要创建一个帐号,该账号需要有grant权限,即:账号管理的授权权限。注意一点,帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)。 添加管理用户: db.createUser( {user: "admin",pwd: "...

Sumshine12.5 1406

MongoDB 之 用户管理

写在前面的话 本篇博客主要介绍Mongobd的用户管理本篇博客以参考官方文档为主本篇涉及到官方文档的部分是:[ http://docs.mongodb.org/manual/core/access-control/ ]如果可能,请尽量阅读官方文档,而不是看我的这篇博客。个人强烈推荐直接阅读官方文档。本人英语水平不好,肯定会遇到错误或疏忽之处,请指出。(这也是推荐直接官方Docs的原因之一)转

Keep Moving 6624

mongodb进阶三之mongodb管理

平时的开发环境win比较多啊,但生产环境要放到unix环境上 一:命令 安装就不少了,网上有很多资料下面列一些参数 quiet 安静输出 port arg 指定服务端口号,默认端口27017 bind_ip arg 绑定服务IP,绑定127.0.0.1,只本机访问,默认本地所有IP logpath arg 指定MongoDB日志文件,注意是指定文件不是目录 logappend 使用追

美丽的泡沫 2292

【MongoDB】的权限管理

Mongodb的权限管理1. 为什么要进行权限管理的设置2. mongodb的权限管理方案3. mongodb超级管理员账号的创建3.1 创建超级用户3.2 以权限认证的方式启动mongodb数据库3.3 登录验证4. 创建普通用户4.1 在使用的数据库上创建普通用户4.2 在admin用户数据库上创建普通用户5. 查看创建的用户6. 删除用户6.1 进入账号数据所在的数据库6.2 删除用户7. 小结 学习目标 了解 mongodb的权限管理 1. 为什么要进行权限管理的设置 刚安装完毕的mongod

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 653
上一篇: mongodb- 副本集(Ha方案)
下一篇: Hbase伪分布式安装-Windows
胸口碎大石_
博客等级 码龄17年 1154粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值