- 浏览: 169257 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
g24317854:
感谢,遇到同样的问题,确实是返回首字母大写的问题
org.xml.sax.SAXException: Invalid element -
lvweifang:
差评差评差评差评差评差评差评差评差评差评差评差评差评差评差评差 ...
org.xml.sax.SAXException: Invalid element -
chen_juns:
谢谢博主,按照你方案已解决
org.xml.sax.SAXException: Invalid element -
天馒:
运行结果什么也没有呢
Android之文件&XML -
jkptthui:
讲得很详细,学习了...
Android之Service&BroadCastReceiver
1.MongoDB的启动和停止
启动部分
:\mysoft\mongo\bin>mongod.exe --help
** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations
** with --dur, the limit is lower
Allowed options:
General options:
-h [ --help ] show this usage information
--version show version information
-f [ --config ] arg configuration file specifying additional options
-v [ --verbose ] be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
--quiet quieter output
--port arg specify port number
--bind_ip arg comma separated list of ip addresses to listen on - all
local ips by default
--maxConns arg max number of simultaneous connections
--logpath arg log file to send write to instead of stdout - has to be
a file, not directory
--logappend append to logpath instead of over-writing
--pidfilepath arg full path to pidfile (if not set, no pidfile is
created)
--keyFile arg private key for cluster authentication (only for
replica sets)
--auth run with security
--cpu periodically show cpu and iowait utilization
--dbpath arg directory for datafiles
--diaglog arg 0=off 1=W 2=R 3=both 7=W+some reads
--directoryperdb each database will be stored in a separate directory
--journal enable journaling
--journalOptions arg journal diagnostic options
--ipv6 enable IPv6 support (disabled by default)
--jsonp allow JSONP access via http (has security implications)
--noauth run without security
--nohttpinterface disable http interface
--noprealloc disable data file preallocation - will often hurt
performance
--noscripting disable scripting engine
--notablescan do not allow table scans
--nssize arg (=16) .ns file size (in MB) for new databases
--objcheck inspect client data for validity on receipt
--profile arg 0=off 1=slow, 2=all
--quota limits each database to a certain number of files (8
default)
--quotaFiles arg number of files allower per db, requires --quota
--rest turn on simple rest api
--repair run repair on all dbs
--repairpath arg root directory for repair files - defaults to dbpath
--slowms arg (=100) value of slow for profile and console log
--smallfiles use a smaller default file size
--syncdelay arg (=60) seconds between disk syncs (0=never, but not
recommended)
--sysinfo print some diagnostic system information
--upgrade upgrade db if needed
Windows Service Control Manager options:
--install install mongodb service
--remove remove mongodb service
--reinstall reinstall mongodb service (equivilant of mongod
--remove followed by mongod --install)
--serviceName arg windows service name
--serviceDisplayName arg windows service display name
--serviceDescription arg windows service description
--serviceUser arg user name service executes as
--servicePassword arg password used to authenticate serviceUser
Replication options:
--fastsync indicate that this instance is starting from a dbpath
snapshot of the repl peer
--autoresync automatically resync if slave data is stale
--oplogSize arg size limit (in MB) for op log
Master/slave options:
--master master mode
--slave slave mode
--source arg when slave: specify master as <server:port>
--only arg when slave: specify a single database to replicate
--slavedelay arg specify delay (in seconds) to be used when applying
master ops to slave
Replica set options:
--replSet arg arg is <setname>[/<optionalseedhostlist>]
Sharding options:
--configsvr declare this is a config db of a cluster; default port
27019; default dir /data/configdb
--shardsvr declare this is a shard db of a cluster; default port
27018
--noMoveParanoia turn off paranoid saving of data for moveChunk. this
is on by default for now, but default will switch
停止方式有多种,可以以杀死进程的方式,也可以使用如下的命令
>use admin
>db.shutdownServer();
2.监控
2.1使用WEB管理接接口,在浏览器中输入http://ip:28017(默认的端口)
2.2使用serverStatus命令
> db.runCommand({"serverStatus":1})
{
"host" : "mongo_server",
"version" : "1.8.5",
"process" : "mongod",
"uptime" : 29336,
"uptimeEstimate" : 29130,
"localTime" : ISODate("2012-06-01T09:14:55.863Z"),
"globalLock" : {//表示全局写入锁占用了服务器多少时间
"totalTime" : 29336506453,
"lockTime" : 646417,
"ratio" : 0.000022034559603599163,
"currentQueue" : {
"total" : 0,
"readers" : 0,
"writers" : 0
},
"activeClients" : {
"total" : 0,
"readers" : 0,
"writers" : 0
}
},
"mem" : {//包含了服务器内存映射了多少数据,服务器进程的虚拟内存和常驻内存的占情况单位为MB
"bits" : 32,
"resident" : 15,
"virtual" : 72,
"supported" : true,
"mapped" : 32
},
"connections" : {
"current" : 1,
"available" : 19999
},
"extra_info" : {
"note" : "fields vary by platform"
},
"indexCounters" : {/表示B树在磁盘检索和内存检索的次数,如果这个比值开始上升就要考虑添加内存了
"note" : "not supported on this platform"
},
"backgroundFlushing" : {//表示后台做了多少次fsync以及用了多少时间
"flushes" : 488,
"total_ms" : 4850,
"average_ms" : 9.938524590163935,
"last_ms" : 12,
"last_finished" : ISODate("2012-06-01T09:14:00.629Z")
},
"cursors" : {
"totalOpen" : 0,
"clientCursors_size" : 0,
"timedOut" : 0
},
"network" : {
"bytesIn" : 10681,
"bytesOut" : 38570,
"numRequests" : 97
},
"opcounters" : {
"insert" : 30,
"query" : 17,
"update" : 0,
"delete" : 2,
"getmore" : 0,
"command" : 51
},
"asserts" : {//统计了断言的次数
"regular" : 0,
"warning" : 0,
"msg" : 0,
"user" : 0,
"rollovers" : 0
},
"writeBacksQueued" : false,
"ok" : 1
}
也可以使用http的方式获得此Json数据
2.3使用mongostat
它采用了实时计数。
2.4第三方插件
如Nagios、Munin、Ganglia、Cacti。
3.安全和认证
可以使用--auth启动数据库这样就需要验证,但在添加之前至少先创建一个管理员。
> db
test
> db.addUser("test_root","root")
{
"user" : "test_root",
"readOnly" : false,
"pwd" : "34070e45e4dfae82a29b99492394677d"
}
> db.addUser("read_only","1234",true)//指定为只读用户
{
"user" : "read_only",
"readOnly" : true,
"pwd" : "999ead64210fea33bfcff18fa5d5e5e2"
}
> db.auth("test_root","root") //鉴权
> db.system.users.find()//查看所有的用户,用户存储在system.users集合中
{ "_id" : ObjectId("4fc88f839e2a3bef89321b6a"), "user" : "test_root", "readOnly"
: false, "pwd" : "34070e45e4dfae82a29b99492394677d" }
{ "_id" : ObjectId("4fc88fb29e2a3bef89321b6b"), "user" : "read_only", "readOnly"
: true, "pwd" : "999ead64210fea33bfcff18fa5d5e5e2" }
>
4.其他安全策略
建议将MongoDB服务器布置在防火墙后或者布置在只有应用服务器能访问的网络中
如:只能从本机应用服务器访问可以运行“mongod --bindip localhost”
可以使用--nohttpinter-face 将HTTP的管理接口关闭。
使用--noscripting完全禁止服务端JavaScript的执行。
5.备份和修复
1.备份数据库文件,将数据库存储文件备份即可,此情况下要关闭服务器。
2.使用mongodump和mongorestore
C:\mongodb\bin>mongodump.exe --help
options:
--help produce help message
-v [ --verbose ] be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
-h [ --host ] arg mongo host to connect to ( <set name>/s1,s2 for
sets)
--port arg server port. Can also use --host hostname:port
--ipv6 enable IPv6 support (disabled by default)
-u [ --username ] arg username
-p [ --password ] arg password
--dbpath arg directly access mongod database files in the given
path, instead of connecting to a mongod server -
needs to lock the data directory, so cannot be used
if a mongod is currently accessing the same path
--directoryperdb if dbpath specified, each db is in a separate
directory
-d [ --db ] arg database to use
-c [ --collection ] arg collection to use (some commands)
-o [ --out ] arg (=dump) output directory or "-" for stdout
-q [ --query ] arg json query
--oplog Use oplog for point-in-time snapshotting
--repair try to recover a crashed database
C:\mongodb\bin>mongorestore.exe --help
usage: mongorestore.exe [options] [directory or filename to restore from]
options:
--help produce help message
-v [ --verbose ] be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
-h [ --host ] arg mongo host to connect to ( <set name>/s1,s2 for sets)
--port arg server port. Can also use --host hostname:port
--ipv6 enable IPv6 support (disabled by default)
-u [ --username ] arg username
-p [ --password ] arg password
--dbpath arg directly access mongod database files in the given
path, instead of connecting to a mongod server -
needs to lock the data directory, so cannot be used
if a mongod is currently accessing the same path
--directoryperdb if dbpath specified, each db is in a separate
directory
-d [ --db ] arg database to use
-c [ --collection ] arg collection to use (some commands)
--objcheck validate object before inserting
--filter arg filter to apply before inserting
--drop drop each collection before import
--oplogReplay replay oplog for point-in-time restore
示例
C:\mongodb\bin>mongodump.exe -d blog -o ../backup
connected to: 127.0.0.1
DATABASE: blog to ../backup/blog
blog.users to ../backup/blog/users.bson
10 objects
blog.system.indexes to ../backup/blog/system.indexes.bson
2 objects
blog.result.txt to ../backup/blog/result.txt.bson
5 objects
C:\mongodb\bin>mongorestore.exe -d test --drop ../backup/blog
connected to: 127.0.0.1
Fri Jun 01 23:41:03 ../backup/blog/result.txt.bson
Fri Jun 01 23:41:03 going into namespace [test.result.txt]
Fri Jun 01 23:41:03 dropping
Fri Jun 01 23:41:03 5 objects found
Fri Jun 01 23:41:03 ../backup/blog/users.bson
Fri Jun 01 23:41:03 going into namespace [test.users]
Fri Jun 01 23:41:03 dropping
Fri Jun 01 23:41:03 10 objects found
Fri Jun 01 23:41:03 ../backup/blog/system.indexes.bson
Fri Jun 01 23:41:03 going into namespace [test.system.indexes]
Fri Jun 01 23:41:03 dropping
Fri Jun 01 23:41:03 { name: "_id_", ns: "test.users", key: { _id: 1 }, v: 0 }
Fri Jun 01 23:41:03 { name: "_id_", ns: "test.result.txt", key: { _id: 1 }, v: 0
}
Fri Jun 01 23:41:03 2 objects found
3.fsync和锁
虽然用mongodump和mongorestore能不停机备份,但是我们却失去了获取实时数据视图的能力。MongDB的fsync命令能在MongoDB运行时复制数据目录还不回损毁数据。
fsync命令会强制服务器将所有缓冲区写入磁盘,还可以选择上锁阻止对数据库进一步写入,直至释放锁为止。写入锁是让fsync在备份时发挥作用的关键。下面的例子展示了如何在shell中操作,强制执行了fsync并获得了写入锁。
> db.runCommand({"fsync":1,"lock":1})
{
"info" : "now locked against writes, use db.$cmd.sys.unlock.findOne() to
unlock",
"ok" : 1
}
备份好了就要解锁
> db.$cmd.sys.unlock.findOne();
{ "ok" : 1, "info" : "unlock requested" }
> db.currentOp()
{ "inprog" : [ ] }
6.修复
1.mongod --repair
2,db.repairDatabase()
发表评论
-
MongoDB 分片
2012-06-06 22:23 12631.建立分片 建立分片有两步:启动实际的服务器,然后决定怎么 ... -
MongoDB 复制
2012-06-03 23:44 11821.主从复制 运行mongod -- ... -
MongoDB 高阶
2012-06-01 17:02 10751.db.eval()执行Javascript脚本 2.DB ... -
MongoDB GridFS
2012-06-01 15:54 28311.利用Mongofile命令进行文件的操作 usag ... -
MongoDB 固定集合
2012-06-01 15:02 27981.何谓固定集合:事先创建而且大小固定的集合。 2.固定集合特 ... -
MongoDB 命令(二)
2012-06-01 14:08 2507删除一个集合我们有下面2中方式 1.db.test.drop( ... -
MongoDB 聚合
2012-05-31 23:52 12711.count()函数返回集合中文档的数量 2.distinc ... -
MongoDB 索引
2012-06-06 22:34 26891.使用ensureIndex添加索引 ensureIndex ... -
MongoDB 查询
2012-05-30 22:58 12421.find查询 先看看find的 ... -
MongoDB 更新修改器
2012-05-30 00:53 2553更新修改器是种特殊的键,用来指定复杂的更新操作,比如调整、增加 ... -
Mongodb 数据类型
2012-05-28 23:25 11331.null null用于表示空值或者不存在的字段 2.布尔 ... -
MongoDB Shell 学习(二)
2012-05-28 23:02 1381本节主要讲述怎么去学习好shell 1.利用shell自带的帮 ... -
Mongodb Shell学习(一)
2012-05-28 22:51 3160本节内容讲述的是MongoDB Shell下一些基本命令的使用 ...
相关推荐
MongoDB管理工具是数据库管理员和开发人员用于交互式操作MongoDB数据库的重要软件。在这个压缩包中,我们有两个主要的管理工具:RoboMongo和RockMongo,它们都是针对MongoDB的跨平台图形用户界面(GUI)工具。让我们...
MongoDB管理软件是数据库管理员和开发者的利器,尤其在处理非结构化数据时,MongoDB因其灵活性和高性能而备受青睐。MongoVUE.v1.5.3是专门为MongoDB设计的一款图形用户界面(GUI)工具,它使得管理和操作MongoDB...
本资源“深入云计算:MongoDB管理与开发实战详解 源代码”旨在为开发者和管理员提供全面的MongoDB知识,通过源代码实例帮助读者深入理解其核心概念和实践技巧。 在云计算领域,MongoDB常作为NoSQL数据库解决方案,...
### MongoDB管理操作详解 #### 一、概述 随着NoSQL技术的发展,MongoDB因其灵活性、扩展性和高性能成为了众多企业的首选数据库之一。对于大型系统来说,MongoDB的管理和维护至关重要。本文将详细介绍在过去一年多...
总结来说,RockMongo是一款强大的MongoDB管理工具,它的存在极大地简化了数据库的管理工作,无论对于初学者还是经验丰富的开发者,都是一个不可或缺的辅助工具。通过源代码的学习,开发者可以深入理解MongoDB的交互...
MongoDB 是一种流行的开源文档...在日常操作中,MongoDB 的管理命令是管理员进行数据管理、备份、恢复、性能优化以及问题排查的关键工具。熟练掌握这些命令,能够有效地管理和维护 MongoDB 集群,确保系统的稳定运行。
NoSQL Manager for MongoDB是一款专业的MongoDB管理工具,旨在帮助用户更高效地管理和操作MongoDB数据库,提升开发和运维效率。 NoSQL Manager for MongoDB提供了许多实用的功能,包括: 1. **图形化界面**:它...
使用Genghis,你可以执行以下常见的MongoDB管理任务: 1. **连接到MongoDB实例**:Genghis允许你输入MongoDB服务器的地址和端口,以便连接到本地或远程数据库服务器。 2. **浏览数据库**:列出所有数据库,并查看每...
mongodb-compass-1.13.1-win32-x64.exe 作为mongodb管理工具的安装包,对于管理mongodb很方便实用
在管理MongoDB数据库时,有一款强大的可视化工具是至关重要的,这就是我们今天要讨论的"MongoDB管理工具robo3t",它是robomongo的升级版。 robo3t(原名robomongo)是一款免费的MongoDB管理工具,专为Windows 64位...
标题中的"rockmongo-mongodb管理工具"明确指出了我们讨论的主题,即RockMongo,它是专门针对MongoDB设计的管理工具。这个工具是开发者和数据库管理员的得力助手,尤其对于那些习惯于通过图形界面操作数据库的用户来...
《深入云计算(MongoDB管理与开发实战详解)》系统全面的介绍了MongoDB开发、管理、维护和性能优化等方方面面。详细而深入,对MongoDB的开发和管理方法进行了详细的讲解,也对MongoDB的工作机制进行了深入的探讨。注重...
Python-mongoadmin是一个基于Django Web框架和Bootstrap前端库构建的MongoDB管理界面工具。这个项目旨在提供一个用户友好的界面,使开发者和管理员能够更方便地管理和操作MongoDB数据库,而无需直接通过命令行或者...
【标题】"我的django专栏用的Mongodb管理软件,Windows端"揭示了这个压缩包包含的是用于在Windows操作系统上管理MongoDB的工具,特别适用于与Django Web框架集成的环境。MongoDB是一种流行的NoSQL数据库系统,而...
根据提供的文件信息,我们可以从以下几个方面来探讨与《MongoDB管理与开发精要》相关的知识点: ### MongoDB简介 MongoDB是一种非关系型数据库(NoSQL),它采用了文档数据模型进行数据存储,支持灵活的数据结构,...
在这个场景中,RockMongo是一个基于PHP的MongoDB管理工具,它为开发人员提供了方便的界面来管理和操作MongoDB数据库。 RockMongo的主要特点包括: 1. **用户友好的界面**:RockMongo提供了一个简洁且直观的Web界面...
MongoDB管理工具是数据库管理员和开发人员用于操作和管理MongoDB数据库系统的重要工具。MongoDB是一种流行的NoSQL数据库,以其灵活性、高性能和易扩展性而备受赞誉。在没有合适的管理工具的情况下,直接通过命令行...