设为首页 收藏本站
查看: 891|回复: 0

[经验分享] MongoDB 运维常用操作

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-16 10:21:45 | 显示全部楼层 |阅读模式
MongoDB 运维常用操作   
  
分析方法:    
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" }   
      ]   
    }   
)



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-139813-1-1.html 上篇帖子: MongoDB 计划缓存的影响 下篇帖子: MongoDB mongodump 按时间区域导出数据
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表