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插件。

3.安全
MongoDB支持对单个连接的认证。
3.1 认证的基础知识
每个MongoDB实例中的数据库都可以有很多用户。开启认证后,只有数据库认证用户才能执行读写操作。
认证后,管理员可以读写所有的数据库,执行特定的管理命令。
开启安全认证前,需要有管理员帐号。

> use admin
switched to db admin
> db.addUser("root", "root123");
{
  "user" : "root",
  "readOnly" : false,
  "pwd" : "81c5bca573e01b632d18a459c6cec418",
  "_id" : ObjectId("530bd17622cceb4323a2b500")
}
> use test
switched to db test
> db.addUser("test_user", "root123", true);
{
  "user" : "test_user",
  "readOnly" : true,
  "pwd" : "d436badec207e3821abbaf337fcbdd06",
  "_id" : ObjectId("530bd24322cceb4323a2b501")
}

在shell中创建只读用户将adduser的第三个参数设为true。调用addUser()必须对数据库有写权限。
addUser不仅可以增加新用户,还能修改用户口令或只读状态。
重启服务器,加入--auth选项,开启安全检查。

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

3.2 认证的工作原理
数据库用户帐户以文档形式存储在system.users集合里面。

> use admin
switched to db admin
> db.system.users.find();
{ "_id" : ObjectId("530bd17622cceb4323a2b500"), "user" : "root", "readOnly" : false, "pwd" : "81c5bca573e01b632d18a459c6cec418" }

可以执行

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

删除帐号。
用户认证时,服务器将认证和连接绑定来跟踪认证。
3.3 其他安装考虑
除了认证还有许多选项来锁定MongoDB实例。即便使用认证,MongoDB传输协议是不加密的。如需加密,需要使用SHH隧道或类似做客户端和服务器之间的加密。
MongoDB服务器建议布置在防火墙或内网中,但是如果需要被外部访问,使用--bindip选项,可以指定mongod绑定在本机IP地址。
可以用--noscripting完全禁止服务器端JavaScript的执行。

(0)

相关推荐

  • Linux系统下MongoDB的简单安装与基本操作

    Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备受当前IT从业人员的青睐.Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象.Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作. 一.下载mongodb 前往mongodb官网下载页面:https://www.mongodb.org/downloads下载

  • MongoDB入门教程之Windows下的MongoDB数据库安装图解

    关于mongodb的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中"集合" 就是对应关系数据库中的"表","文档"对应"行".  一: 下载 上MongoDB官网 ,我们发现有32bit和64bit,这个就要看你系统了,不过这里有两点注意: ①:根据业界规则,偶数为"稳定版"(如:1.6.X,1.8.X),奇数为"开发版"(如:1.7.

  • MongoDB的主从复制及副本集的replSet配置教程

    复制 MongoDB的复制功能很重要,尤其是现在的存储引擎还不支持单击持久性.不仅可以用复制来应对故障切换,数据集成,还可以做读扩展,热备份或作为离线批处理的数据源. 1.主从复制 主从复制是MongoDB最常用的复制方式.可用于备份,故障恢复和读扩展等. 基本就是搭建一个主节点和一个或多个从节点,每个从节点需要知道主节点的地址.运行mongod --master启动主服务器.运行mongod --slave --source master_address启动从服务器. [root@test02

  • MongoDB的安装及配置文件选项全解

    安装部分 1. 安装包 1.1 mongodb-org 可以自动安装以下的四个包 1.2 mongodb-org-server mongod进程和配置文件,启动脚本 1.3 mongodb-org-mongos mongos进程 1.4 mongodb-org-shell mongo shell 1.5 mongodb-org-tools 其他mongodb工具,mongoimport,mongoexport,mongodump,mongrestore,mongofiles,bsondump,m

  • windows下mongodb安装与使用图文教程(整理)

    一.首先安装mongodb 1.下载地址:http://www.mongodb.org/downloads 2.解压缩到自己想要安装的目录,比如d:\mongodb 3.创建文件夹d:\mongodb\data\db.d:\mongodb\data\log,分别用来安装db和日志文件,在log文件夹下创建一个日志文件MongoDB.log,即d:\mongodb\data\log\MongoDB.log 4.运行cmd.exe进入dos命令界面,执行下列命令 > cd d:\mongodb\bi

  • PHP简单操作MongoDB的方法(安装及增删改查)

    本文实例讲述了PHP简单操作MongoDB的方法.分享给大家供大家参考,具体如下: php操作MongoDB的话首先从网上下载MongoDB的扩展包,https://github.com/mongodb/mongo-php-driver/downloads,选择对应的扩展包. 这是我下的,然后解压,VC6适合apache,VC9适合IIS,ts(thread safe)指PHP以模块形式运行的. 然后把其中的php_mongo.dll放在PHP中的ext文件夹中,然后在PHP.INI里面加入ex

  • MongoDB 学习笔记(一)-MongoDB配置

    MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 步入正题: 下载MongoDB 下载地址:https://www.mongodb.com/download-center?jmp=nav 这里是在windows平台下安装MongoDB, 下载后,在本机,按提示进行安装. 注: 这个安装只

  • python连接mongodb操作数据示例(mongodb数据库配置类)

    一.相关代码数据库配置类 MongoDBConn.py 复制代码 代码如下: #encoding=utf-8''' Mongo Conn连接类''' import pymongo class DBConn:    conn = None    servers = "mongodb://localhost:27017" def connect(self):        self.conn = pymongo.Connection(self.servers) def close(self

  • 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 so

  • django如何自定义manage.py管理命令

    每次在启动Django服务之前,我们都会在终端运行python manage.py xxx的管理命令.其实我们还可以自定义管理命令,这对于执行独立的脚本或任务非常有用,比如清除缓存.导出用户邮件清单或发送邮件等等. 自定义的管理命令不仅可以通过manage.py运行,还可以通过Linux或Celery的crontab服务将其设成定时任务.本文主要讲解如何自定义Django-admin命令,并提供一些演示案例. 自定义Django-admin命令一共分三步:创建文件夹布局.编写命令代码和测试使用.

  • 详解MongoDB管理命令

    MongoDB是一个NoSQL数据库系统:一个数据库可以包含多个集合(Collection),每个集合对应于关系数据库中的表:而每个集合中可以存储一组由列标识的记录,列是可以自由定义的,非常灵活,由一组列标识的实体的集合对应于关系数据库表中的行.下面通过熟悉MongoDB的基本管理命令,来了解MongoDB提供的DBMS的基本功能和行为. MongoDB命令帮助系统  在安装MongoDB后,启动服务器进程(mongod),可以通过在客户端命令mongo实现对MongoDB的管理和监控.看一下M

  • MongoDB入门教程(包含安装、常用命令、相关概念、使用技巧、常见操作等)

    一.安装和配置   MongoDB 的官方下载站是 http://www.mongodb.org/downloads,可以去上面下载最新的安装程序   Windows 平台的安装   ● 步骤一: 下载 MongoDB     点击上方官方下载地址, 并下载 Windows 版本 ● 步骤二: 设置 MongoDB 程序存放目录     下载完成后, 解压到自定义文件夹,例: D:\mongodb\ ● 步骤三: 设置数据文件存放目录     在 D:\mongodb\ 目录下创建 db 和 l

  • MySQL的安装以及基本的管理命令和设置

    MySQL 安装 Linux/UNIX上安装Mysql Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址: MySQL - MySQL服务器.你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器. MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器. MySQL-devel - 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包. MySQL-shared - 该软件

  • 虚拟化技术概述 虚拟机安装与管理手册

    概述:虚拟化技术的介绍(kvm,qemu),虚拟机的安装,虚拟机的管理(virt-manger,virsh等). 1.为什么要有虚拟化技术? 如果你的主要操作系统是windows但是又需要在Linux上工作,像VMware(需要付费...)或者virtualbox一定是你的首选,这样你就可以在两个操作系统间随意切换了,除了这其实我们还有解除了很多虚拟化技术:比如虚拟光驱,我们完全不需要真正的光驱也可以使用光盘镜像,这些都是我们日常接触到的,但并不是虚拟化技术的全部,现在比较热门的docker容器

  • MongoDB 3.4 安装以 Windows 服务方式运行的详细步骤

    1.首先从https://www.mongodb.com/download-center#community 下载社区版,企业版也是类似. 2.双击运行安装,可自定义安装路径,这里采用默认路径(C:\Program Files\MongoDB\Server\3.4) 一路下一步直至安装完毕. 3.创建数据存放目录(这里我放在D:\MongoDB\data). D:\MongoDB\data创建db目录和log目录,分别用来存放数据库文件和日志文件. 4.创建配置文件mongod.cfg存放在D:

  • Linux 中 RPM包 安装 查询 卸载命令小结及yum命令详解

    之前一直在用ubuntu,安装卸载软件基本上是使用apt-get 这个非常的简单,而且过程中遇到的软件依赖会自动帮我们处理,类似于傻瓜式安装.另外在 Linux 操作系统下,几乎所有的软件都可以通过RPM 进行安装.卸载及管理等操作.RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件.Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装.RPM 有五种操作模式,分别为:安装.卸载.升级.查

  • UNIX 系统常用管理命令

    一. 引言UNIX系统作为一种强大的多用户分时操作系统,在越来越多的场合受到了应用,同时,对UNIX的系统管理的要求也随之越来越多,但目前的书籍对UNIX系统管理命令介绍的并不是很多.本文主要是针对UNIX系统管理员,以SUN SOLARIS 2.6 系统为例,列举了一些UNIX常用的管理命令的使用及其使用中遇到的问题和解决方法,供大家参考. 二. 常用系统管理命令介绍1. share 和 mount 命令 这是系统管理员常用的两个命令,share命令用于把本机的目录共享出来,以便其它UNIX系

  • Windows下MongoDB的下载安装、环境配置教程图解

    下载MongoDB 1.进入MongoDB官网,Products -> 选择SOFTWARE下的MongoDB Server 2.选择下载最新版 3.选择对应的版本下载 msi安装包形式安装MongoDB 1.选择complete,完整安装(安装全部组件).complete,完整的.完全的. 当然也可以选自定义安装,影响不大. 2. data目录是数据存储目录,数据库中的数据就存储在这个目录中.log是日志文件的输出目录. 需要在该盘的根目录下新建一个data文件夹(必须要是MongoDB安装盘

随机推荐