mongodb常用shell操作

 MongoDB数据导出及导入

我目前用到的分别是 mongodump 和 mongorestore,他们语法挺相似。

导出

 

mongodump --host localhost:27017 /data/backup/csser.com/csser.3-9/

表示将当前数据库导出到 csser.3-9 目录中去,导入用 mongorestore 即可恢复。

 

导入

 

mongorestore --host localhost:27017 /data/backup/csser.com/csser.3-9/

表示将 csser.3-9 目录下的数据导入到 MongoDB 中。

 

 安全停止并退出MongoDB

安全停止并退出 MongoDB

无论如何都要避免直接 kill
-9
 MongoDB 进程,如需正常安全的退出,向进程发送 SIGINT 或 SIGTERM 信号,如:

 

$ sudo kill -2 pid // SIGINT
// 或
$ sudo kill pid // SIGTERM

 

 

 查看集合占用空间

查看集合占用空间

 

> db.sessions.dataSize()
22658540

 

 监控和释放MongoDB占用的内存

监控和释放 MongoDB 占用的内存

查看内存使用情况:

 

PRIMARY> use csser
switched to db csser
PRIMARY> db.serverStatus().mem
{
	"bits" : 64,
	"resident" : 82,
	"virtual" : 5366,
	"supported" : true,
	"mapped" : 2463,
	"mappedWithJournal" : 4926
}

释放内存:

 

 

db.runCommand({closeAllDatabases:1})

 

 

 查看MongoDB连接数

查看 MongoDB 连接数

 

> db.serverStatus().connections
{ "current" : 10, "available" : 809 }

 

 

 进入Shell

进入 Shell

通过 mongo 命令连接数据库后,会自动进入 MongoDB Shell,默认连接的是 test 数据库,进行如下操作了解 Shell 基本指令:

> help
db.help()                    #查看 db 方法
db.mycoll.help()             #查看集合方法
rs.help()                    #查看 replica set 方法
help admin                   #管理员帮助
help connect                 #连接数据库帮助
help keys                    #快捷键帮助
help misc                    #了解 misc 
help mr                      #mapreduce

show dbs                     #打印本服务器存在的数据库名称列表
show collections             #打印当前数据库的集合列表
show users                   #打印当前数据库的用户
show profile                 #打印 1s 内的 system.profile
show logs                    #打印 logger 名称
show log [name]              #打印内存中最新的一条日志记录,[name] 默认为 'global'
use <db_name>                #切换数据库
db.foo.find()                #列出集合 foo 中的对象列表
db.foo.find( { a : 1 } )     #列出集合 foo 中满足条件 a== 1 的对象列表
it                           #查看 find 返回列表的其余部分
DBQuery.shellBatchSize = x   #设置 shell 默认显示的项的个数
exit                         #退出 mongodb shell

MongoDB shell 内嵌了 Javascript 解析器,所以可以在其中书写 Javascript 代码。

 连接数据库

连接数据库

mongo [options] [db address] [文件名 (以.js结尾)]

db address 可以只指定数据库名(比如:csser),此时连接本地数据库csser。

也可以这样:192.169.0.5:27018/csser,表明连接192.169.0.5服务器27018端口的csser数据库,端口号可以省略,默认为27017。

如果指定文件名,在不指定 --shell 参数的情况下,进程在执行完这些js文件之后会自动退出,文件名必须以.js结尾。

查看 MongoDB 版本:

 

mongo --version

在运行 mongo 命令时不自动连接数据库:

 

 

mongo --nodb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值