MongoDB 运维常用操作

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介:

分析方法:    
1. 通过top、free、iostat、iftop等工具查看Linux服务器平均负载、CPU利用率、IO、内存、swap、网络流量等,先定位到压力源头。

2. 通过mongostat、mongotop等分析MongoDB读写压力。观察Page Faults、Connections、Queues等性能指标。

3. 日志中默认记录超过100ms的请求,过滤出Overflow查询,再使用Mtools跟踪分析MongoDB日志文件中的慢查询语句。若是语句问题,可从日志定位到出现性能问题时刻的源头语句。

 

常用操作:   
1. 重启服务    

1
#service mongod restart

  
2. 跟踪日志分析查询    

1
$ tail  -f  /var/log/mongodb/mongod .log

   
3. 分析当前读写状态    

1
$mongostat -uxucy -p

  
4. 查看数据库状态    

1
>db.serverStatus()

   
5. 查看数据库连接数    

1
>db.serverStatus().connections

   
6. 查看复制集状态    

1
>rs.status()

 
7. 手动降级实例    

1
>rs.stepDown(30)


8. 查看当前执行活跃查询    

1
>db.currentOp();

   
9. 杀掉正在执行的操作    

1
>db.killOp( "shard3:466404288" );

   
10. 分析查询语句的执行计划    

1
>db.Product.find({ "_id" : 10086}).explain().pretty();

 
11. 在后台创建索引    

1
>db.Product.ensureIndex({  "Category" : 1,  "Status" : 1}, { background: 1 });

 
12. 数据导出    

1
$ mongoexport -u xucy -p --authenticationDatabase admin -d DBName -c Product -q  '{"AddDate":{"$gte":new Date(1445558400000),"$lte":new Date(1445731200000)}}'  -f  "_id,AddDate,Status"  -o Product_20151026.json

  
13. 数据导入    

1
$mongoimport -h 192.168.1.101 -u xucy -p -d DBName --authenticationDatabase admin -c datacontent datacontent_bak.json

  
14. 数据库/表备份    

1
$ mongodump --authenticationDatabase admin -uxucy -p --db DBName -o  /disk1/mongobackup/DBName_fullbackup_20150917

   
15. 数据库/表恢复    

1
$ mongorestore --authenticationDatabase admin -uxucy -p --db DBName --drop Temp_20150909 /DBName/

   
16. 数据库授权    

1
2
3
4
5
6
7
8
9
10
>use dbname    
>db.createUser(    
     {    
       user "peter" ,    
       pwd:  "xxxxxxxx" ,    
       roles: [    
          { role:  "readWrite" , db:  "dbname"  }    
       ]    
     }    
)


















本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1712499  ,如需转载请自行联系原作者



相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
10月前
|
SQL NoSQL 关系型数据库
【mongo 系列】mongodb 学习三,常用操作实际操练
可以使用 insert,insertOne,insertMany 插入不同的数据,各取所需,其中 insertMany 用于插入多条数据,当然也可以插入 1 条数据
108 4
|
SQL 存储 NoSQL
MongoDB从入门到实战之MongoDB工作常用操作命令
MongoDB从入门到实战之MongoDB工作常用操作命令
235 0
|
新零售 运维 监控
|
运维 NoSQL MongoDB
(3)MongoDB 副本集运维策略
本文聊一聊 MongoDB 副本集运维窗口期的操作策略,最大程度地减少主节点不可用的时间。
|
新零售 运维 监控
|
新零售 运维 监控
阿里云数据库MongoDB版助力餐道显著提升运维效率,打造卓越餐饮/零售服务
阿里云数据库MongoDB版助力餐道显著提升运维效率,打造卓越餐饮/零售服务
138 0
阿里云数据库MongoDB版助力餐道显著提升运维效率,打造卓越餐饮/零售服务
|
运维 NoSQL 测试技术
【私货】MongoDB 副本集的运维部署
【私货】MongoDB 副本集的运维部署
|
NoSQL MongoDB
MongoDB常用操作
MongoDB常用操作
|
运维 NoSQL 数据库
MongoDB 运维相关的命令
MongoDB 运维相关的命令1.在线释放内存 use admindb.runCommand({closeAllDatabases:1}) 注:3.2 版本 已经去掉了这个命令了 2.rs.status() 查询复制集状态 3.
1323 0
|
监控 Java 大数据
《阿里巴巴MongoDB4.0高级实战:基于Java Spring Boot 2.0》运维、监控、聚合、集群、监控等高级面试题
《阿里巴巴MongoDB4.0高级实战》阿里巴巴技术大牛 资深专家P9叶翔、专家徐雷. NoSQL排名第一!最流行的NoSQL数据库;谷歌、阿里巴巴、蚂蚁金服、腾讯、百度等一线互联网公司必备技能。
3589 0