zoukankan      html  css  js  c++  java
  • mongodb管理命令

    1.复制集合(collection)
    1)从远端mongodb复制
    # mongo 10.10.10.2:27017/db_test -u "test" -p "test"
    > db.tab1.find();
    > db.tab1.getIndexes();

    # mongo
    > use db_test
    > db.tab1.find();
    > db.tab1.getIndexes();

    > db.runCommand(cloneCollection:"db_test.tab1",from:"10.10.10.2:27017");
    --注:
      1)默认复制集合中的所有数据和索引,并将数据和索引附加于本地集合.
    > db.runCommand(cloneCollection:"db_test.tab1",from:"10.10.10.2:27017",copyIndexes:false);
    --注:
      1)上述命令设置为只复制集合数据,而并不复制集合上的索引.

    > db.tab1.find();
    > db.tab1.getIndexes();

    2)从本地mongodb复制
    # mongo
    > use db_test
    > db.tab1.find().forEach(function(x){db.tab2.insert(x)});

    2.复制数据库(database)
    1)从远端mongodb复制
    # mongo 10.10.10.2:27017/db_test -u "test" -p "test"
    > show dbs;
    > use db_test1
    > show collections;

    # mongo
    > show dbs;

    > db.copyDatabase("db_test1","db_test1","10.10.10.2:27017","test","test");

    2)从本地mongodb复制
    # mongo
    > show dbs;

    > db.copyDatabase("db_test1","db_test2");

    3.刷新磁盘
    --将内存数据与磁盘同步,期间,会阻止写操作,但允许读操作.
    # mongo
    > use admin
    --同步刷新
    > db.runCommand({fsync:1});
    --异步刷新
    > db.runCommand({fsync:1,async:true});

    --备份前刷新并显示锁住库
    > use admin
    > db.runCommand({fsync:1,lock:1});
    > db.cuurentOp();
    --执行数据库备份
    --备份后解锁数据库
    > db.$cmd.sys.unlock.findOne();
    > db.currentOp();

    4.捕获异常
    1)返回异常信息
    # mongo
    > db.getLastError();

    2)确认复制信息
    # mongo
    --确保之前的操作已被复制到包括主库在内的两个成员库上
    # db.runCommand( { getLastError: 1, w: 2, wtimeout:5000 } )

    5.进程监控
    1)查看活动进程
    # mongo
    > db.currentOp();
    > db.$cmd.sys.inprog.findOne();
    --注(输出结果):
      1)opid:操作进程号.
      2)op:操作类型(读写).
      3)ns:操作数据库及集合.
      4)query:查询内容和条件.
      5)inLock:锁类型.-1:读锁;0:无锁;1:写锁.
    2)结束进程
    # mongo
    > db.killOp(shard1:188);
    > db.$cmd.sys.killop.findOne({op:188});

    6.验证集合(collection)
    # mongo
    > use db_test
    > db.tab1.validate();

    --注(输出结果):
      1)ns:校验的数据库和集合名.
      2)result:校验结果的详细信息.
      3)ok:命令执行状态.1:成功.
      4)valid:校验结果,true为集合有效.
      5)lastExtentSize:集合最后一个extent的大小.
     
    7.数据压缩
    # mongo
    > db.tab1.totalSize();
    > db.repairDatabase();
    > db.tab1.totalSize();

  • 相关阅读:
    Python之pytest 基础
    unittest和pytest的区别
    Selenium 常用定位对象元素的方法
    ORCAl存储过程
    Mysql的存储过程
    TestNG 搭建测试框架 自动化测试
    通过junit/TestNG+java 实现自动化测试
    查看APP用到的图片方法
    码农干私活的建议(转)
    Android的onCreateOptionsMenu()创建菜单Menu详解(转)
  • 原文地址:https://www.cnblogs.com/lhdz_bj/p/14134693.html
Copyright © 2011-2022 走看看