MongoDB的基本安装与管理命令脚本总结


本文整理自网络,侵删。

安装
1. Linux安装MongoDB
1.1 创建数据目录和日志文件:

mkdir -p /data/node/
touch /data/mongodb.log

1.2 安装mongodb:

tar zxf mongodb-linux-x86_64-2.4.9.tgz 
mv mongodb-linux-x86_64-2.4.9 /opt/mongodb
echo "export PATH=$PATH:/opt/mongodb/bin" >>/etc/profile
source /etc/profile

1.3 创建新从节点配置文件:

cat >> ~/.mongodb.conf <<EOF
fork = ture
port = 11000
dbpath = /data/node
logpath = /data/mongodb.log
logappend = true
EOF

1.4 启动MongoDB

mongod --config ~/.mongodb.conf

2. Windows安装MongoDB
2.1 下载并解压

mongodb-win32-x86_64-2008plus-2.4.9.zip

2.2 添加服务

# mongod -f d:\mongodb\mongodb.cfg --serviceName MongoBD --install

2.3 启动服务

# net start mongodb 

2.4 删除服务

# mongod --remove

2.5 MongoDB启动配置文件

mongodb.cfg -->
logpath=d:\data\mongo.log 
dbpath=d:\data
logappend=true
auth=true
#fork=true

管理
管理MongoDB无论是备份还是带有复制的多节点系统,都有快捷的方式。系统会自动完成各种配置。
(1)MongoDB是一个普通命令行程序,用mongod调用。
(2)MongoDB提供了内置的管理接口和监控功能,易与第三方监控包集成。
(3)MongoDB支持基本的,数据库级别的用户认证,包括只读用户,以及独立的管理员权限。
(4)多种方式备份MongoDB。

1.启动停止MongoDB
1.1 命令行启动
命令行启动,可以mongod --help查看所有选项。
(1)--dbpath 默认值为/data/db/。每个Mongod进程都需要独立的数据目录,要有三个mongod实例,必须要有三个独立的数据目录。mongodb启动时,会在数据目录喜爱创建mongod.lock文件,防止其他mongod进程使用该数据目录。
(2)--port
指定监听端口,默认为27017,运行多个mongod进程,需要指定不同的端口号。
(3)--fork
以守护进程运行mongodb,创建服务器进程。
(4)--logpath
指定日志输出路径,而不是输出命令行,它会覆盖已有文件,清除原来的日记记录。如果要保留,需要使用--logappend选项。
(5)--config
指定配置文件,加载命令行未指定的各种选项。
1.2 配置文件
MongoBD支持从文件获取配置信息。指定配置文件可以用-f或者--config选项。例如:

# mongod --config ~/.mongodb.conf
cat > ~/.mongodb.conf <<EOF
port = 10001
fork = true
logpath = /data/mongodb.log
dbpath = /data/node2
logappend = true
EOF

1.3 停止MongoDB
数据库关闭方法:
(1)kill -2 SIGTERM或者kill -2 SIGINT,可以稳妥退出,会等到当前运行的操作或者文件预分配,关闭所有打开的连接,将缓存的数据刷新到磁盘,最后停止。
不能kill -9(SIGKILL),这样会导致数据文件损毁。
(2)使用管理命令{"shutdown" : 1}

> use admin
> db.shutdownServer(); 

2.监控
2.1 使用管理接口
启动MongoDB时,会启动一个非常基本的HTTP服务器,该服务器监听的端口比主服务器大1000。呈现的信息可以通过shell查看,也可以通过web页面查看。
要利用好管理接口,需要用--reset选项开启REST支持。也可以在启动时使用--nohttpinterface关闭管理接口。
2.2 serverStatus
serverStatus呈现了MongoDB内部详细信息,比如服务器的版本,运行时间,当前连接数。

MongoDB shell version: 2.4.9
connecting to: 127.0.0.1:10001/test
> db.runCommand({serverStatus : 1})

"globalLock"表示全局写入锁占用了服务器多少时间(微秒)。"mem"包含服务器内存映射了多少数据,服务器进程的虚拟内存和常驻内存占用情况;
(1)"indexCounters"表示B树在磁盘检索和内存检索的次数;
(2)"backgroudFlushing"表示后台做了多少次fsync以及用了多少时间;
(3)"opcounters"包含了每种主要操作的次数。
2.3 mongostat
mongostat输出serverStatus提供的重要信息。每秒钟输出新的一行,比之前看到的静态计数实时性更好。分别为insert/s,commands/s,vsize和%locked。
2.4 第三方插件
支持Nagios,Munin,Ganglia,Cacti的MongbDB插件。

阅读剩余部分

相关阅读 >>

如何备份,还原和迁移mongodb数据库

mongodb系列教程(五):mongo语法和mysql语法对比学习

mongodb数据库基础知识整理

mongodb基础入门_动力节点java学院整理

springboot整合mongodb的实现步骤

mongodb教程之数据操作实例

mongodb 常用的crud操作语句

mongodb系列教程(一):nosql起源

mongo db增删改查命令

分析mongodb和mysql各自的关键特性、差别和优势

更多相关阅读请进入《mongodb》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...