当前位置 : 首页 » 文章分类 :  开发  »  MongoDB

MongoDB

MongoDB 使用笔记


内存

MongoDB如何使用内存

目前,MongoDB使用的是内存映射存储引擎,它会把磁盘IO操作转换成内存操作,如果是读操作,内存中的数据起到缓存的作用,如果是写操作,内存还可以把随机的写操作转换成顺序的写操作,总之可以大幅度提升性能。MongoDB并不干涉内存管理工作,而是把这些工作留给操作系统的虚拟缓存管理器去处理,这样的好处是简化了MongoDB的工作,但坏处是你没有方法很方便的控制MongoDB占多大内存,事实上MongoDB会占用所有能用的内存,所以最好不要把别的服务和MongoDB放一起。

如何强行收回内存

1、重启mongodb,或者调用 db.runCommand({closeAllDatabases:1}) 来清除内存
2、使用Linux命令清除缓存中的数据:echo 3 > /proc/sys/vm/drop_caches

wiredTigerCacheSizeGB

mongod 提供了额外的可选参数 wiredTigerCacheSizeGB 来控制 WiredTiger 存储引擎所占用的 cache size
例如

wiredTigerCacheSizeGB=10

注意:
1、若不设置 wiredTigerCacheSizeGB 大小,mongodb 服务会根据本机内存设置内存大小
2、cache size设置较低,同时mongodb复杂查询很频繁的话,会有延迟发生。


mongostat

mongostat 是 mongodb 自带的状态检测工具,在命令行下使用,会间隔固定时间(默认1s)获取 mongodb 的当前运行状态,并输出。


Mac Brew安装MongoDB

MongoDB 已经宣布不再开源,从2019年9月2日开始 ,HomeBrew 也从核心仓库当中移除了 mongodb 模块

MongoDB 官方提供了一个单独的 HomeBrew 的社区版本安装 Tap
https://github.com/mongodb/homebrew-brew

brew tap 安装 mongodb/brew
$ brew tap mongodb/brew

安装最新 mongodb 社区版
$ brew install mongodb-community

指定版本安装
$ brew install mongodb-community@4.4

安装目录
/usr/local/Cellar/mongodb-community/4.4.0

后台启动
brew services start mongodb/brew/mongodb-community

前台启动
mongod --config /usr/local/etc/mongod.conf


启动/停止mongodb

启动MongoDB

1、启动
mongod –dbpath /home/user1/mongodb/data –logpath /home/user1/mongodb/log/logs –fork
mongo服务启动必须要指定文件存放的目录dbpath,–fork以守护进程运行,如果带—fork参数则必须要指定—logpath即日志存放的位置

2、指定配置文件启动
mongod -f conf/mongo_conf.conf

停止MongoDB

1、查看进程并 kill
ps aux|grep mongod
kill -9 pid

2、在客户端中使用 shutdown 命令

> use admin
switched to db admin
> db.auth('admin','123456')
> db.shutdownServer()

mongo连接

mongo 连接本机 27017 端口的 mongo

mongo 192.168.1.100:27017 指定 ip 和端口连接 mongo

# mongo localhost:27019
MongoDB shell version: 3.2.16
connecting to: localhost:27019/test

mongo 192.168.1.100:27017/test 指定ip、端口、数据库名连接

mongo 192.168.1.200:27017/test -u user -p password 指定ip、端口、用户名、密码、数据库名连接


mongo命令行操作

查看所有账号信息

>  use admin
switched to db admin
> db.auth('admin','123456')
1
> db.system.users.find().pretty()

show dbs 查看数据库

use db 切换/创建数据库

mongo中创建数据库采用的也是use命令,如果use后面跟的数据库名不存在,那么mongo将会新建该数据库。
不过,实际上只执行use命令后,mongo是不会新建该数据库的,直到你像该数据库中插入了数据。

show collections 查看当前库中的集合

查看所有账号


上一篇 typesafe.config与HOCON

下一篇 金融基础

阅读
评论
850
阅读预计3分钟
创建日期 2020-08-19
修改日期 2021-02-18
类别
标签

页面信息

location:
protocol:
host:
hostname:
origin:
pathname:
href:
document:
referrer:
navigator:
platform:
userAgent:

评论