MongoDB实践四(管理工具)

数据库监控工具
  • mongostat 显示数据库服务器进程状态,使用mongostat 需要对操作数据库具备clusterMonitor角色的权限
    • mongostat --host localhost --port 27017 -u monitorUser -p passwd --authenticationDatabase admin (默认每秒一次报告)
    • mongostat ... 3 (3秒一次)
    • mongostat ... --rowcount 5 1 (限制报告次数为5次)
    • mongostat ... -o "command,dirty,used,vsize,res,conn,time" --rowcount 5 1 (选择部分字段进行报告输出)
      • command - 每秒执行的命令数
      • dirty ,used - 数据库引擎缓存的使用量百分比
      • vsize 虚拟内存使用量(MB)
      • res 常驻内存使用量(MB)
      • conn 连接数
  • mongotop 监控集合读写时间(长时间未操作的集合可能不会出现在内)
    • mongotop --host localhost --port 27017 -u monitorUser -p passwd --authenticationDatabase admin(默认每秒一次报告)
    • mongotop --host localhost --port 27017 -u monitorUser -p passwd --authenticationDatabase admin 5 (调整为5秒一次报告)
    • mongostat ... --rowcount 5 1 (限制报告次数为5次)
 
 
MongoExport 导出
  • 导出支持筛选导出
    • mongoexport --db test --collection accounts --type=csv --fields name,balance --out /data/accouts.csv -u readUser -p passwd --authenticationDatabase admin
    • mongoexport --db test --collection accounts --type=csv --fields name.firstName.lastName,balance --out /data/accounts.csv -u readUser -p passwd --authenticationDatabase admin
  • 导出支持多种格式
    • mongoexport --db test --collection accounts --type=json --fields name.firstName,name.lastName,balance --out /opt/backups/accounts.json -u readUser -p passwd --authenticationDatabase admin
  • 导出支持指定IP端口
    • mongoexport --db test --collection accounts --type=csv --fields name,balance --out /data/accouts.csv -u readUser -p passwd --authenticationDatabase admin --host 127.0.0.1 --port 27017
  • 导出支持 --limit --skip --sort选项
    • mongoexport --db test --collection accounts --type=json --fields name.firstName,name.lastName,balance--out /data/accounts.json -u readUser -p passwd --authenticationDatabase admin --sort '{balance:1}' --limit 3 --skip 1
 
mongo外执行mongo命令
  • mongo -u readUser -p passwd --authenticationDatabase admin --quiet --eval 'db.importAccounts.find()'
 
MongoImport 导入
  • --headerline 设置第一行为字段名称(表格类文件切记)
    • mongoimport --db test --collection importAccounts --type csv --headerline --file /data/accounts.csv -u writeUser -p passwd --authenticationDatabase admin
  • 导入JSON
    • mongoimport --db test --collection importAccounts --type json --file /data/accounts.json -u writeUser -p passwd --authenticationDatabase admin --upsertFields name.firstName,balance
  • 导入前删除原文档
    • mongoimport --db test --collection importAccounts --type csv --headerline --file /data/accounts.csv --drop -u writeUser -p passwd --authenticationDatabase admin
  • 自定义字段名称(与headerline相斥,如果使用自定义记得把表格类文件的首行处理掉)
    • mongoimport --db test --collection importAccounts --type csv --fields firstName,lastName,balance --file /data/accounts.csv -u writeUser -p passwd --authenticationDatabase admin
  • 更新旧文档(字段匹配则更新)
    • mongoimport --db test --collection importAccounts --type csv --headerline --file /data/accounts.csv -u writeUser -p passwd --authenticationDatabase admin --upsertFields name.firstName,balance
  • --stopOnError(遇到错误即停止),--maintainInsertionOrder(按照文件当中数据顺序导入)
    • mongoimport --db test --collection importAccounts --type json --file /data/accounts.json -u writeUser -p passwd --authenticationDatabase admin --upsertFields name.firstName,balance --stopOnError --maintainInsertionOrder
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

posted @ 2021-03-03 14:04  year12  阅读(99)  评论(0编辑  收藏  举报